jQuery计时器写剩余时间

Posted

技术标签:

【中文标题】jQuery计时器写剩余时间【英文标题】:jquery timer write time remaining 【发布时间】:2011-08-13 13:37:05 【问题描述】:

我有一个段落字段,我想在其中放置此计时器剩余的秒数:

html

<p>xx seconds remaining</p>

javascript

window.setInterval(retrieveLog, 20000);

我该怎么做?

【问题讨论】:

【参考方案1】:

调用时,存储结束时间:

var end = (new Date).getTime() + 20000 * 1000; // current time in ms since 1/1/1970, plus the interval time
window.setInterval(retrieveLog, 20000);

并添加另一个更新文本的间隔:

var interval = setInterval(function() 
    var now = (new Date).getTime();
    $("p").text(Math.floor(( end - now ) / 1000));
    if(now > end) clearInterval(interval);
, 1000);

http://jsfiddle.net/pimvdb/b25KR/

【讨论】:

但是如果我想在剩余时间为 0 秒时重置它? @Michele:使用clearInterval,需要传递区间返回的值。请查看我的编辑。 @pimvdb 顺便说一句,要获取Date 实例的数值,您不必使用getTime()。一个简单的数字强制也有效:+new Date 返回与 (new Date).getTime() 相同。 @Šime Vidas:你完全正确。我更喜欢getTime,因为它的速度。 jsperf.com/gettime-vs-plus【参考方案2】:

试试this countdown脚本

【讨论】:

以上是关于jQuery计时器写剩余时间的主要内容,如果未能解决你的问题,请参考以下文章

第一次写jquery插件,来个countdown计时器吧

订单用jquery实现倒计时怎么写

Python 定时器剩余时间

考试剩余时间倒计时

Swift3.0 GCD定时器的使用,实现倒计时,UIDatePicker的使用, 仿写一个活动倒计时的DEMO

创建一个倒计时器,为列表中的每个值每5秒打印一次剩余时间