正在回答
1回答
同学你好,关于函数节流理解如下:
函数节流的目的是:当用户多次重复快速地点击按钮时,防止按钮事件中的逻辑代码不断重复执行。
函数节流的实现是设置一个节流锁(比如:lock),程序刚开始运行时,锁肯定是打开状态(即lock = true),因为只有在打开状态,才允许用户在点击按钮时,执行按钮事件中的逻辑代码。
所以 ,以下代码是在点击事件的开头,先判断lock的状态:如果lock为true,!lock为false,则不会执行return(即退出该事件函数),而会继续执行后面的代码:此时需要将lock变为false,防止移动逻辑代码还没有执行完毕,用户再次点击按钮,而再次执行移动逻辑代码;如果lock为false,!lock为true,则会执行return(即退出该事件函数),后面的代码不再执行。
right_btn.onclick = function() {
// 判断节流锁的状态,如果是关闭的,那么就什么都不做
if (!lock) return;
// 关锁
lock = false;
// 移动逻辑代码
...
}
当移动逻辑代码执行完毕后,此时锁还是关闭状态,需要将其打开,用户再次点击按钮时,才会执行移动逻辑代码,如图
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星