vuejs 实现24小时倒计时

DOM结构
<div class="SYtime">
                剩余
                <span class="span">{{hh}}</span>:
                <span class="span">{{mm}}</span>:
                <span class="span">{{ss}}</span>自动结束
            </div>

 

vue代码结构

data(){
return{
      hh: '00',
      mm: '00',
      ss: '00',
      flag: false,
}
}
mounted () {
    let time = setInterval(() => {
      if (this.flag == true) {
        clearInterval(time)
      }
      this.timeDown()
    }, 500)
  },
methods:{
  timeDown () {
      const endTime = new Date(this.beginTime).getTime() + 24 * 60 * 60 * 1000;
      const nowTime = new Date(this.beginTime);
      var date = new Date();
      var now = date.getTime(nowTime);
      //设置截止时间
      var endDate = new Date(endTime);
      var end = endDate.getTime();
      //时间差
      var rightTime = end - now;//截止时间减去当前时间
      if (rightTime > 0) {//判断剩余倒计时时间如果大于0就执行倒计时否则就结束
        // var dd = Math.floor(rightTime / 1000 / 60 / 60 / 24);
        var hh = Math.floor((rightTime / 1000 / 60 / 60) % 24);
        var mm = Math.floor((rightTime / 1000 / 60) % 60);
        var ss = Math.floor((rightTime / 1000) % 60);
        this.hh = hh;
        this.mm = mm;
        this.ss = ss;
      } else {
        this.isfail = true;
      }
    },
}

posted on 2020-12-20 20:46  byd张小伟  阅读(1565)  评论(0编辑  收藏  举报