首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript倒计时代码

Javascript倒计时代码
EN

Stack Overflow用户
提问于 2015-11-20 22:45:20
回答 1查看 121关注 0票数 0

在运行这个脚本进行JavaScript倒计时(使用this plugin)时,我遇到了一个问题。它应该做的是获取开始时间、当前时间和结束时间,并显示剩余时间。

如果我在纪元时间中用正常数字设置这些值,一切都很好,但我的问题是:我如何设置当前时间和开始时间为真正的当前时间,以便倒计时将是动态的?

我找到了这一行:Math.round(new Date().getTime()/1000.0);

但是我不知道如何让它工作,因为我是在我的HTML文件的底部,在</html>标记之前运行这个脚本。

脚本是这样的:

代码语言:javascript
复制
<script>
$('.countdown').final_countdown({
    start: '[amount Of Time]',
    end: '[amount Of Time]',
    now: '[amount Of Time]'
});
</script>

这就是我试图解决它的方法,但它不起作用:

代码语言:javascript
复制
//get the current time in unix timestamp seconds
var seconds = Math.round(new Date().getTime()/1000.0);
var endTime = '1388461320';

$('.countdown').final_countdown({
    start: '1362139200',
    end: endTime,
    now: seconds
});
EN

回答 1

Stack Overflow用户

发布于 2015-11-21 01:31:32

听起来你想从当前时间倒计时到未来的某个固定点。

下面的示例倒计时并显示从现在(无论何时)到下一分钟内某个随机时间戳的剩余时间。

代码语言:javascript
复制
function startTimer(futureTimeStamp, display) {
  var diff;

  (function timer() {
    // how many seconds are between now and when the count down should end
    diff = (futureTimeStamp - Date.now() / 1000) | 0;

    if (diff >= 0) {
      display(diff);
      setTimeout(timer, 1000);
    }
  }());
}

// wait for the page to load.
window.onload = function() {
  var element = document.querySelector('#time'),
      now = Date.now() / 1000,
      // some random time within the next minute
      futureTimeStamp = Math.floor(now + (Math.random() * 60));

  // format the display however you wish.
  function display(diff) {
    var minutes = (diff / 60) | 0,
        seconds = (diff % 60) | 0;
    minutes = minutes < 10 ? "0" + minutes : minutes;
    seconds = seconds < 10 ? "0" + seconds : seconds;
    element.innerHTML = minutes + ":" + seconds;
  }
  
  startTimer(futureTimeStamp, display);
};
代码语言:javascript
复制
<span id="time"></span>

此外,Math.round(new Date().getTime()/1000.0);还会给出自纪元以来的秒数,但是舍入这个数字可能有点不诚实。我认为你最好发言:var timestamp = Math.floor(Date.now() / 1000));可能是一个更好的选择。

另外,我不确定你为什么需要开始时间,当前时间和结束时间。为了找到剩余的秒数,您只需要知道计时器应该何时结束以及当前时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33829460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档