登录注册获取验证码需要倒计时;一般都选择setTimeout和setInterval 定时器;在web页面也没有问题,安卓手机也没问,但有IOS用户反应某些需要用到用户登录注册倒计时点击后锁屏再次开屏时间暂停了。
html
<span v-show="timeTrue == true" @click="acquire">获取验证码</span>
<span v-show="timeTrue == false" >{{ time }}秒后重新获取</span>
script
data() {
return {
timeTrue: true,
time: 59
};
},
methods(重点:兼容iphoneX锁屏也能倒计时)
acquire() {
this.timeTrue = false;
var dataTime = new Date().getTime() + 60000;
var setTimeoutS = setInterval(() => {
this.time = parseInt((dataTime - new Date().getTime()) / 1000);
console.log(this.time);
if (this.time <= 0) {
clearInterval(setTimeoutS);
this.timeTrue = true;
}
}, 1000);
}