vue实现倒计时30分钟

前言


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

在这里插入图片描述

实现

  1. 首先,是两个div用来显示我们的剩余支付时间
<div style="font-size: 14px;color: #666;">剩余支付时间(超时自动关闭)</div>
<div class="time"><i class="el-icon-time"></i> {{min}}分钟 {{sec}}</div>
  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. 最后,在mounted里事先执行countdown方法
mounted () {
  this.countdown()
}

验证


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

在这里插入图片描述
可以看到已经自动倒计时了

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

  • 15
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值