前端的部分逻辑有时候控制前端的显示,比如记录收藏数目等等。有时候多次重复点击会造成前端显示的bug。所以需要有部分逻辑判断去筛除掉重复多次的点击。
实现部分代码如下,主要是通过setTimeout去加以判断,即无论点击几次,间隔一定时间才会去触发一次事件,从而只产生一次的记录:
<script>
var i=0; //判断点击次数寄存
var closetimer = null; //延时函数寄存
function Button1_Click() //botton点击事件
{
console.log('1');
i++; //记录点击次数
closetimer = window.setTimeout(setout,200);
}
function setout(){ //点击执行事件
if(i>1) //如果点击次数超过1
{
console.log('wrong');
window.clearTimeout(closetimer); //清除延时函数
closetimer = null; //设置延时寄存为null
//添加操作代码
i=0; //重置点击次数为0
}
else{ //如果点击次数为1
console.log('right');
i=0; //重置点击次数为0
//添加执行操作的代码
}
}
</script>