前言
在支付订单的业务场景下,通常会有一个支付倒计时的功能,今天我们就来实现一下
实现
- 首先,是两个div用来显示我们的剩余支付时间
<div style="font-size: 14px;color: #666;">剩余支付时间(超时自动关闭)</div>
<div class="time"><i class="el-icon-time"></i> {{min}}分钟 {{sec}}秒 </div>
- 1
- 2
- 然后,是倒计时函数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
- 最后,在mounted里事先执行countdown方法
mounted () {
this.countdown()
}
- 1
- 2
- 3
验证
现在,我们来验证一下是否成功
可以看到已经自动倒计时了
最后,如果本文对你有帮助的话点个关注吧!
版权声明:本文为Yanzudada原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。