Javascript:如何倒计时和循环计时器,将日期时间从 23:59:59

我正在建立一个电子商务网站。我想创建一个倒数计时器。


我想做的是从23:59:59开始倒计时到00:00:00。一旦计时器在00:00:00结束,我想再次从23:59:59重新启动计时器。所以我必须使用循环。


现在我创建了不循环的倒数计时器。它从2019/06/14 00:00:00开始,到2019/06/17 23:59:59结束。倒计时结束后,显示屏上会显示活动已结束的消息。


应用程序.js


function CountdownTimer(elm, tl, mes) {

    this.initialize.apply(this, arguments);

  }

  CountdownTimer.prototype = {

    initialize: function (elm, tl, mes) {

      this.elem = document.getElementById(elm);

      this.tl = tl;

      this.mes = mes;

    },

    countDown: function () {

      var timer = '';

      var today = new Date();

      var day = Math.floor((this.tl - today) / (24 * 60 * 60 * 1000));

      var hour = Math.floor((day * 24) + ((this.tl - today) % (24 * 60 * 60 * 1000)) / (60 * 60 * 1000));

      var min = Math.floor(((this.tl - today) % (24 * 60 * 60 * 1000)) / (60 * 1000)) % 60;

      var sec = Math.floor(((this.tl - today) % (24 * 60 * 60 * 1000)) / 1000) % 60 % 60;

      var milli = Math.floor(((this.tl - today) % (24 * 60 * 60 * 1000)) / 10) % 100;

      var me = this;


      if ((this.tl - today) > 0) {

        if (hour) timer += '<span class="cdt_num">' + hour + '</span><small>hours</small>';

        timer += '<span class="cdt_num">' + this.addZero(min) + '</span><small>minutes</small><span class="cdt_num">' + this.addZero(sec) + '</span><small>seconds</small><span class="cdt_num">' + this.addZero(milli) + '</span>';

        this.elem.innerHTML = timer;

        tid = setTimeout(function () {

          me.countDown();

        }, 10);

      } else {

        this.elem.innerHTML = this.mes;

        return;

      }

    },

    addZero: function (num) {

      return ('0' + num).slice(-2);

    }

  }


我希望有人知道如何修复这些代码以将 DateTime 时间从 23:59:59 转换为 00:00:00 并添加循环功能。


互换的青春
浏览 205回答 3
3回答

慕仙森

hh:mm:ss日期的一部分可以从它的 ISO 字符串表示中检索:var end = Date.now() + 3000;setInterval(function tick() {&nbsp; document.body.textContent = new Date(Date.now() - end).toJSON().slice(11, 19)&nbsp;}, 1000)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript