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

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

HTML:

<p>xx seconds remaining</p>

JavaScript:

window.setInterval(retrieveLog, 20000);

我该怎么做?

【问题讨论】:

    标签: jquery timer seconds


    【解决方案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脚本

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多