如何倒数date

我想知道是否有人可以帮助我。 经过几个小时在这里和网上不知疲倦的search,我似乎无法find一个简单的倒计时使用jQuery。 我不想使用任何types的插件只是一个简单的jQuery代码从date倒计时。 我已经设法find下面的代码。 但即使这个代码放置在我的网站上也没有出现。 我从jquery.com添加了jquery文件,并添加了正确的div与counter ID和什么都没有。 如果任何人都可以解释或告诉我如何在一个函数采取date格式简单的倒计时,并返回倒计时,我将不胜感激的帮助。

 var end = new Date('02/19/2012 10:1 AM'); var _second = 1000; var _minute = _second * 60; var _hour = _minute * 60; var _day = _hour * 24; var timer; function showRemaining() { var now = new Date(); var distance = end - now; if (distance < 0) { clearInterval(timer); document.getElementById('countdown').innerHTML = 'EXPIRED!'; return; } var days = Math.floor(distance / _day); var hours = Math.floor((distance % _day) / _hour); var minutes = Math.floor((distance % _hour) / _minute); var seconds = Math.floor((distance % _minute) / _second); document.getElementById('countdown').innerHTML = days + 'days '; document.getElementById('countdown').innerHTML += hours + 'hrs '; document.getElementById('countdown').innerHTML += minutes + 'mins '; document.getElementById('countdown').innerHTML += seconds + 'secs'; } timer = setInterval(showRemaining, 1000); 

这是正常工作正常的JavaScript。

 <script> var end = new Date('02/19/2012 10:1 AM'); var _second = 1000; var _minute = _second * 60; var _hour = _minute * 60; var _day = _hour * 24; var timer; function showRemaining() { var now = new Date(); var distance = end - now; if (distance < 0) { clearInterval(timer); document.getElementById('countdown').innerHTML = 'EXPIRED!'; return; } var days = Math.floor(distance / _day); var hours = Math.floor((distance % _day) / _hour); var minutes = Math.floor((distance % _hour) / _minute); var seconds = Math.floor((distance % _minute) / _second); document.getElementById('countdown').innerHTML = days + 'days '; document.getElementById('countdown').innerHTML += hours + 'hrs '; document.getElementById('countdown').innerHTML += minutes + 'mins '; document.getElementById('countdown').innerHTML += seconds + 'secs'; } timer = setInterval(showRemaining, 1000); </script> <div id="countdown"></div> 

您的输出显示如下: –

1天9小时3分22秒

UPDATE

使用函数:

 <script> CountDownTimer('02/19/2012 10:1 AM', 'countdown'); CountDownTimer('02/20/2012 10:1 AM', 'newcountdown'); function CountDownTimer(dt, id) { var end = new Date(dt); var _second = 1000; var _minute = _second * 60; var _hour = _minute * 60; var _day = _hour * 24; var timer; function showRemaining() { var now = new Date(); var distance = end - now; if (distance < 0) { clearInterval(timer); document.getElementById(id).innerHTML = 'EXPIRED!'; return; } var days = Math.floor(distance / _day); var hours = Math.floor((distance % _day) / _hour); var minutes = Math.floor((distance % _hour) / _minute); var seconds = Math.floor((distance % _minute) / _second); document.getElementById(id).innerHTML = days + 'days '; document.getElementById(id).innerHTML += hours + 'hrs '; document.getElementById(id).innerHTML += minutes + 'mins '; document.getElementById(id).innerHTML += seconds + 'secs'; } timer = setInterval(showRemaining, 1000); } </script> <div id="countdown"></div> <div id="newcountdown"></div> 

输出将显示如下: –

0天23小时25分8秒

1天23小时25分8秒

这不是jQuery,这是JavaScript。 但无论如何…

你几乎得到它。 唯一的问题是var distance = end-now; 。 它应该是:

 var distance = end.getTime()-now.getTime(); 

另外,你不应该在innerHTML上使用+= 。 相反,使用一个variables(例如: var output = "" )并添加到该variables,然后在末尾分配给innerHTML

最后,仔细检查div的ID是否与getElementById中的ID匹配。