当前位置: 首页 > 知识库问答 >
问题:

一个简单的倒计时计时器,显示小时、分钟、秒

黄和怡
2023-03-14

我试图创建一个倒计时计时器,努力让它显示小时、分钟、秒。

function startTimer(duration, display) {
    var start = Date.now(),
        diff,
        hours,
        minutes,
        seconds;

    function timer() {
        // get the number of seconds that have elapsed since 
        // startTimer() was called
        diff = duration - (((Date.now() - start) / 1000) | 0);

        // Setting and displaying hours, minutes, seconds
        hours = (diff / 360) | 0;
        minutes = (diff / 60) | 0;
        seconds = (diff % 60) | 0;

        hours = hours < 10 ? "0" + hours : hours;
        minutes = minutes < 10 ? "0" + minutes : minutes;
        seconds = seconds < 10 ? "0" + seconds : seconds;

        display.textContent = hours + ":" + minutes + ":" + seconds;

        if (diff <= 0) {
            // add one second so that the count down starts at the full duration
            // example 17:00:00 not 16:59:59
            start = Date.now() + 1000;
        }
    };
    // don't want to wait a full second before the timer starts
    timer();
    setInterval(timer, 1000);
}
window.onload = function () {
    var timeLeft = 3600 * 17,
        display = document.querySelector('#time');
    startTimer(timeLeft, display);
};

努力使分钟和小时正确显示。

除此之外,我还需要计时器在午夜开始计时17小时。按照3600*17(17小时)的思路思考,然后去掉剩余的持续时间?

var timeLeft = ((3600 * 17) - diff),

共有1个答案

单于智
2023-03-14

您有一个错别字和两个小的计算缺陷:

功能计时器:

 hours   = (diff / 3600) | 0; // was: hours = (diff / 360) | 0;
 minutes = ((diff % 3600) / 60) | 0;

加载处理程序

var hoursMinutesSeconds = 3600 * 17, // was: 360 * 60 * 17; alternative: 60 * 60 * 17
display = document.querySelector('#time');
 类似资料:
  • 我试图创建一个基于时间的倒计时钟。它不是基于current_dates。将被拉取的初始时间将来自一个单独的php文件。这将是一个基于浏览器的游戏。当有人点击按钮来启动这个脚本。它将检查是否满足某些要求,如果满足,那么这个脚本将启动。根据对象的级别,它将拉动该进行中级别的初始计时器。希望这有意义。无论如何,我基于我提供的第一个代码的计时器脚本。 此脚本仅占分钟和秒。我对它进行了修改,使其也包括了天和

  • 嗨,我从以下网站获得了倒计时代码: https://codepen.io/SitePoint/pen/MwNPVq, 并已修改为: 我所做的更改是,我检查了分钟和秒是否都为0,然后变量“deadline”应该用新时间更新。倒计时计时器工作正常,但当它达到0:0时,它进入该功能,一切停止。

  • 问题内容: 我在一堂课(名为“欢迎”)中有一个“状态” JLabel,而在另一堂课(名为Timer)中有一个计时器。现在,第一个显示“状态”一词,第二个应该进行倒计时。我想要的样子,但不知道如何显示10、9、8、7 … 0(然后转到下一个窗口)。到目前为止,我的尝试: 和计时器: 问题答案: 我同意您应该考虑按照Anh Pham使用“ Java”计时器,但是实际上,有几个可用的Timer类,并且出

  • 问题内容: 只是想问问如何创建最简单的倒数计时器。 该网站上会有一句话: “注册将在05:00分钟后关闭!” 因此,我想做的是创建一个简单的js倒数计时器,该计时器从“ 05:00”到“ 00:00”,然后在结束时重置为“ 05:00”。 之前我一直在回答一些问题,但是对于我想做的事情,它们似乎都太过激烈了(日期对象等)。 问题答案: 我有两个演示,一个带演示,一个不带演示。两者都不使用日期函数,

  • 本文向大家介绍JavaScript电子时钟倒计时,包括了JavaScript电子时钟倒计时的使用技巧和注意事项,需要的朋友参考一下 本文实例讲解了JavaScript电子时钟倒计时的详细代码,分享给大家供大家参考,具体内容如下 JavaScript时间类 1、获取时分秒:          getHours()          getMinutes();          getSeconds(

  • 我写了这段代码,我在《Python for dummies》一书中找到了这段代码 它应该打印10 9 8 7 6 5 4 3 2 1Blastoff! 当我运行程序时,我得到一个错误“调用打印时缺少括号” 在youtube上,我发现了一个类似的代码,从0到10000000。这个很好用。 为什么它们看起来如此不同?我需要什么样的基础知识才能理解这一点?这是不同python版本的问题吗?《Python