js 实现一个倒计时功能


    timeDown(endDateStr) {
      if (!endDateStr) return;
     var endDate = new Date(endDateStr.replace(/-/g, "/")).getTime();//很重要 兼容部分苹果机
    var nowDate = new Date().getTime();
      var totalSeconds = parseInt((endDate - nowDate) / 1000);  //相差的总秒数
      var days = Math.floor(totalSeconds / (60 * 60 * 24)); //天数
      var modulo = totalSeconds % (60 * 60 * 24);
      var hours = Math.floor(modulo / (60 * 60)); //小时数
      modulo = modulo % (60 * 60);
      var minutes = Math.floor(modulo / 60); //分钟
      var seconds = modulo % 60; //秒
      this.timeDownObj = {
        days,
        hours,
        minutes,
        seconds,
      };
      //延迟一秒执行自己
      let setTimeout1 = setTimeout(() => {
        this.timeDown(this.info.endTime);
      }, 1000);
      setTimeout1;
      if (endDate < nowDate) {
        clearTimeout(setTimeout1);
        this.timeDownObj = {
          days: 0,
          hours: 0,
          minutes: 0,
          seconds: 0,
        };
      }
    },

需要注意一下,当设定的结束时间过了,清除定时器。

猜你喜欢

转载自blog.csdn.net/m0_49623851/article/details/128488563