【小程序】小程序按钮倒计时结束时出现问题,非常困惑
写了一个button,倒计时10s。奇怪的是倒计时结束时,disable属性都被修改了,但文本却没有被修改成“发送验证码”,这是为什么?
最开始这样
然后按了之后这样(此时disable=true)
倒计时结束变成了这样(disable=false文本却没有变)
wxml代码
timeisout就是存储的文本,理论上应该“发送验证码”=>“正在发送”=>“发送验证码”
<button class="sentbtn" bindtap="sendmsg" disabled="{{disable}}">{{timeisout}}</button>
js代码
有注释??的那一行没有修改timeisout。
sendmsg: function() {var toggle = 1;
if (toggle === 1) {
toggle = 0;
var timer = this;
timer.setData({
disable: true
});
var time = 10;
var controller = setInterval(function(e) {
if (time <= 0) {
toggle = 1;
timer.setData({
timeisout: '发送验证码',//???????
disable: false,
})
clearInterval(controller);
}
timer.setData({
timeisout: '正在发送('+time+'s)',
})
time--;
}, 1000);
}
},
回答
if (time <= 0) { toggle = 1;
timer.setData({
timeisout: '发送验证码',//???????
disable: false,
})
clearInterval(controller);
}else{
timer.setData({
timeisout: '正在发送('+time+'s)',
})
}
yzm_count: function(e) {
if (this.data.n <= 0) { this.setData({
yzm_v: '获取验证码',
yzm_style: 'color:#f60;border:1px solid #f60;',
n: 60,
flag: true
})
return;
}
var that = this;
var n = this.data.n;
this.setData({
yzm_v: n,
yzm_style: 'color:#999;border:0px solid #f60;',
n: n - 1
})
setTimeout(function() {
that.yzm_count()
}, 1000);
},
我自己小程序是这样写验证码倒计时的 ,希望对你有帮助
以上是 【小程序】小程序按钮倒计时结束时出现问题,非常困惑 的全部内容, 来源链接: utcz.com/a/80908.html