代码如下:
/**
* 카운트다운
*
* @author WadeYu
* @date 2012-04-20 17:40
* @copyright boyaa.com
*/
var TimeCountDown = function( initTime ){
var day = 0;
var 시간 = 0;
var 분 = 0;
var 초 = 0;
var 타이머Id = 0;
var self = this;
var fixInitTime = function(){
initTime =parseInt(initTime);
if ( isNaN(initTime) || initTime initTime = 0;
}
};
var fixZero = function(num){
return num < 10? ('0' 숫자) : 숫자;
};
var calc = function(){
showCallback.call(self, [fixZero(일), fixZero(시간), fixZero(분), fixZero(초)]);
if ( 일 === 0 && 시간 === 0 && 분 === 0 && 초 === 0){
self.stop();
} else {
if (시간 === 0 && 일 > 0){
시간 = 24;
일--;
}
if (분 === 0 && 시 > 0){
분 = 60;
시--;
}
if (초 === 0 && 분 > 0){
초 = 59;
분--;
} else {
두 번째--;
}
timerId = window.setTimeout(function(){
calc();
}, 1000);
}
};
var showCallback = function(){
alert('콜백 함수 표시를 설정하세요!');
};
var init = function(){
fixInitTime();
if ( initTime > 0 ){
day = Math.floor( (initTime / (24*60*60)) );
initTime -= 일 * 24*60*60;
hour = Math.floor( initTime / (60*60) );
initTime -= 시간 * 60*60;
분 = Math.floor( initTime / 60 );
초 = initTime - 분 * 60;
}
};
this.start = function(){
calc();
};
this.stop = function(){
timerId && window.clearTimeout(timerId);
};
this.setShowCallback = function(fn){
typeof(fn) === '함수' ? (showCallback = fn) : '';
};
초기화();
};
示例如下: