在使用web网页时,如果高频率的触发某一事件,比如拉滚动条,有可能造成页面抖动问题
防抖:在一定时间内,规定允许事件触发的次数
通过设置定时器,触发事件。在定时器首部,会首先清除之前的定时器,以达到规定时间内只能触发一次。如果此时上一次定时器还没有达到指定时间,又创建了新的定时器,之前的定时器就会被清除,从而不会执行上一次事件,达到效果。
节流:保证在规定时间内事件至少被触发一次
在防抖中,如果一直在上一次定时器未达到指定时间时触发下一次定时器,就永远不会触发事件。不能实现图片懒加载中不断加载图片或者发送ajax请求的效果。
因此节流中设置了mustRun属性,设置在超过规定时间后如果没有触发事件,必须触发,如果没有超过规定时间,重新设置定时器
达到了减少一定时间内触发事件的频率,但保证在一定时间内一定会触发一次事件。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步