实现思路如下:
五秒内点击八次,核心是时间控制在五秒内,如果超过时间要及时重置计数器,以获取最佳用户体验。
1.困难点:没有及时去重置时间。场景:有的用户先点三次,过三分钟后回来点五次。如果我们没有及时的重置计数器,这会导致用户点完五次后,告诉用户超时了,要再次重新连续点八次。
本案例旨在解决此类问题。
html片段
<div class="foot" @touchstart='touchstart'></div>
data中数据
data() {
return{
num:0,
startTime: '',
lastTime: ''
}
},
methods:
touchstart(e) {
if(this.num === 0) {
this.startTime = new Date()
this.lastTime = this.startTime
} else if (this.num>=1) {
let nextTime = new Date()
if((nextTime - this.lastTime)>=3000 || (nextTime - this.startTime)>=5000){
console.log('重置')
this.startTime = nextTime
this.lastTime = nextTime
this.num = 0
}else{
this.lastTime = nextTime
}
if(this.num === 7){
console.log('suc')
localStorage.setItem('isShow',true)
this.$router.push('/end_login')
}
}
this.num++
console.log(this.num)
}