声明倒计时长和当前剩余时长(字符串形式),我这里是30分钟(单位为秒)
data: {
time:1800,
countdown:''
},
定义倒计时函数,把倒计时长除以60的整数部分作为分,把倒计时长除以60的余数作为秒;
执行完后减一秒,用定时器每隔一秒执行一次。
如果秒数不够两位,则在秒前加上字符串'0'。如:20:07
countdown(){
var minute=Math.floor(this.data.time / 60 );
var second=this.data.time % 60
if(second<10){
second='0'+second;
this.setData({
countdown:minute+':'+second
})
}else{
this.setData({
countdown:minute+':'+second
})
}
this.setData({
time:this.data.time-1
})
setTimeout(this.countdown, 1000);
},
在页面加载时调用
onLoad(options) {
this.countdown()
},
wxml:
<text>{{countdown}}</text>
使用三元运算使代码更简洁
countdown(){
var minute=Math.floor(this.data.time / 60 );
var second=this.data.time % 60
second<10?second='0'+second:'';
this.setData({
countdown:minute+':'+second,
time:this.data.time-1
})
setTimeout(this.countdown, 1000);
},