函数节流
函数节流介绍
1、先理解什么是高频事件
高频事件就是js中由于用户的快速操作导致短时间极高的触发频率,例如滚动事件onscoll
,鼠标移入onmouseover
,网页大小变化onresize
,点击onclick
等等
2、高频事件的危害
a、浪费资源,降低网页速度
,甚至导致浏览器卡死
b、网络堵塞
,如果在高频事件中,进行了重复的ajax请求,会导致请求数据混乱,并且还占用服务器带宽增加服务器压力 (间接增加服务器成本)
3、函数节流介绍
函数节流:限制事件处理函数的执行周期。
例如:鼠标点击事件,限制0.5s内只能被触发一次。 无论你点击有多快,0.5s也只会执行一次。
解决思路
1.声明变量 记录上一次 触发时间 (默认为0,保证事件第一次无条件触发)
2.触发时间时:判断现在的时间 和 上一次时间 的间隔是否大于 节流间隔
3.成功触发后 : 将现在的时间 变成 下一次时间 的参考时间
总体思路:声明一个变量作为节流初始值,设置节流条件,判断是否满足节流条件,不满足则不让事件继续进行