程式碼如下: 複製程式碼 程式碼如下: /* 倒數 * * @author WadeYu * @date 2012-04-20 17:40 * @copyright boyaa.com ** 🎜>var TimeCountDown = function( initTime ){ var day = 0; var 小時= 0; var 分鐘= 0; var 第二個= 0; vartimermer = 0 ; var self = this; var fixInitTime = function(){ initTime = parseInt(initTime); if ( isNaN(initTime) || initTime initTime 0; } }; var fixZero = function(num){ return num }; 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) : ''; }; init(); }; 示例如下:複製代碼程式碼如下: var timeCountDown = new TimeCountDown(3 * 24 * 60 * 60); timeCountDown.setShowCallback(function( obj ){ // [天,小時,分,秒] document.getElementById('timeCon').innerHTML = obj[0] ":" obj[1] ": " obj[2] ':' obj[3]; }); timeCountDown.start(); 腳本> 身體>