标签: 【Vue踩坑之路】  vue  倒计时

前言


在支付订单的业务场景下,通常会有一个支付倒计时的功能,今天我们就来实现一下

实现

  1. 首先,是两个div用来显示我们的剩余支付时间
<div style="font-size: 14px;color: #666;">剩余支付时间(超时自动关闭)</div>
<div class="time"><i class="el-icon-time"></i> {{min}}分钟 {{sec}}秒 </div>
  • 1
  • 2
  1. 然后,是倒计时函数countdown
//倒计时
countdown () {
      const end = Date.parse(new Date('2020-05-05 03:59:23'))
      const now = Date.parse(new Date())
      const msec = end - now

      console.log(msec)
      if(msec<0) return;

      let day = parseInt(msec / 1000 / 60 / 60 / 24)
      let hr = parseInt(msec / 1000 / 60 / 60 % 24)
      let min = parseInt(msec / 1000 / 60 % 60)
      let sec = parseInt(msec / 1000 % 60)
      this.day = day
      this.hr = hr > 9 ? hr : '0' + hr
      this.min = min > 9 ? min : '0' + min
      this.sec = sec > 9 ? sec : '0' + sec
      const that = this
      if(min>=0 && sec>=0){
        //倒计时结束关闭订单
        if(min==0 && sec==0){

          return
        }
        setTimeout(function () {
          that.countdown()
        }, 1000)
      }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  1. 最后,在mounted里事先执行countdown方法
mounted () {
  this.countdown()
}
  • 1
  • 2
  • 3

验证


现在,我们来验证一下是否成功


可以看到已经自动倒计时了

最后,如果本文对你有帮助的话点个关注吧!

版权声明:本文为Yanzudada原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:vue实现倒计时30分钟_一如年少丶的博客-CSDN博客_vue实现倒计时

Logo

前往低代码交流专区

更多推荐