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,
        };
      }
    },

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值