Home > Web Front-end > JS Tutorial > body text

JavaScript countdown function implementation code_time and date

WBOY
Release: 2016-05-16 17:52:56
Original
1380 people have browsed it

代码如下:

复制代码 代码如下:

/**
* Countdown
*
* @author WadeYu
* @date 2012-04-20 17:40
* @copyright boyaa.com
*/
var TimeCountDown = function( initTime ){
var day = 0;
var hour = 0;
var minute = 0;
var second = 0;
var timerId = 0;
var self = this;
var fixInitTime = function(){
initTime = parseInt(initTime);
if ( isNaN(initTime) || initTime < 0 ){
initTime = 0;
}
};
var fixZero = function(num){
return num < 10 ? ('0' num) : num;
};
var calc = function(){
showCallback.call(self, [fixZero(day), fixZero(hour), fixZero(minute), fixZero(second)]);
if ( day === 0 && hour === 0 && minute === 0 && second === 0){
self.stop();
} else {
if (hour === 0 && day > 0){
hour = 24;
day--;
}
if (minute === 0 && hour > 0){
minute = 60;
hour--;
}
if (second === 0 && minute > 0){
second = 59;
minute--;
} else {
second--;
}
timerId = window.setTimeout(function(){
calc();
}, 1000);
}
};
var showCallback = function(){
alert('Please set show callback functions!');
};
var init = function(){
fixInitTime();
if ( initTime > 0 ){
day = Math.floor( (initTime / (24*60*60)) );
initTime -= day * 24*60*60;
hour = Math.floor( initTime / (60*60) );
initTime -= hour * 60*60;
minute = Math.floor( initTime / 60 );
second = initTime - minute * 60;
}
};
this.start = function(){
calc();
};
this.stop = function(){
timerId && window.clearTimeout(timerId);
};
this.setShowCallback = function(fn){
typeof(fn) === 'function' ? (showCallback = fn) : '';
};
init();
};

示例如下:
复制代码 代码如下:





Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template