如何倒数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匹配。