欢迎指教
data: {
timer: '', //定时器名字
hours: 0, //倒计时小时
minutes: 0, //倒计时分钟
seconds: 0, //倒计时秒
},
onShow: function () {
this.countDown(10000);//调用定时器,并设定初始值
}
countDown: function (countDownNum) {
var that = this;
//如果将定时器设置在外面,那么用户就看不到countDownNum的数值动态变化,所以要把定时器存进data里面
that.setData({
timer: setInterval(function () { //这里把setInterval赋值给变量名为timer的变量
//每隔一秒countDownNum就减一,实现同步
countDownNum--;
//然后把countDownNum存进data,好让用户知道时间在倒计着
that.setData({
hours: parseInt(countDownNum / 3600), //倒计时小时
minutes: parseInt(countDownNum % 3600 / 60), //倒计时分钟
seconds: countDownNum % 3600 % 60, //倒计时秒
});
//在倒计时还未到0时,这中间可以做其他的事情,按项目需求来
if (countDownNum == 0) {
//这里特别要注意,计时器是始终一直在走的,如果你的时间为0,那么就要关掉定时器!不然相当耗性能
//因为timer是存在data里面的,所以在关掉时,也要在data里取出后再关闭
clearInterval(that.data.timer);
//关闭定时器之后,可作其他处理codes go here
}
}, 1000)
})
}, //定时器
注意:关闭界面时,定时器还是会执行,所以要记得关闭定时器,以免性能损耗