Video_2020-12-18_145700.gif
WXML代码:
<view class='countDown' wx:if="{{countDownNum}}" bindtap="onJumpIndex">
<text style='color:red'>{{countDownNum}}</text>s后跳转
</view>
JS代码:
Page({
/**
* 页面的初始数据
*/
data: {
timer: '',//定时器名字
countDownNum: '5'//倒计时初始值
},
onShow: function(){
//调用这个函数
this.countDown();
},
countDown: function () {
let that = this;
let countDownNum = that.data.countDownNum;//获取倒计时初始值
//如果将定时器设置在外面,那么用户就看不到countDownNum的数值动态变化,所以要把定时器存进data里面
that.setData({
timer: setInterval(function () {//这里把setInterval赋值给变量名为timer的变量
//每隔一秒countDownNum就减一,实现同步
countDownNum--;
//然后把countDownNum存进data,好让用户知道时间在倒计着
that.setData({
countDownNum: countDownNum
})
//在倒计时还未到0时,这中间可以做其他的事情,按项目需求来
if (countDownNum == 0) {
//这里特别要注意,计时器是始终一直在走的,如果你的时间为0,那么就要关掉定时器!不然相当耗性能
//回调
that.onJumpIndex()
//关闭定时器之后,可作其他处理codes go here
}
}, 1000)
})
},
onJumpIndex:function(){
const that=this
clearInterval(that.data.timer);
wx.switchTab({
url:'../index/index'
})
},
})
注:不足之处请指出