js scroll 滚动连续多次触发事件怎么只执行一次?
1: 设置一个全局变量is_running = false
2: 然后再你scroll触发的事件方法的开头加上一个if判断,如果is_running==false就先把is_running=true,然后执行方法。
3: 在执行结束的末尾,把is_running=false改回来表示执行结束,
4: 这相当于加锁和解锁的过程,在is_running==true的期间就算触发了此方法也不会真正执行的
5: 所以连续触发时只执行一次。当然你在方法执行过程中最好有异常捕获,以防执行到一半出错了,is_running 一直是true,然后永远执行不了了
1: 设置一个全局变量is_running = false
2: 然后再你scroll触发的事件方法的开头加上一个if判断,如果is_running==false就先把is_running=true,然后执行方法。
3: 在执行结束的末尾,把is_running=false改回来表示执行结束,
4: 这相当于加锁和解锁的过程,在is_running==true的期间就算触发了此方法也不会真正执行的
5: 所以连续触发时只执行一次。当然你在方法执行过程中最好有异常捕获,以防执行到一半出错了,is_running 一直是true,然后永远执行不了了
2024-09-02 广告