问题描述:
在resize,scrolls事件处理中,由于事件触发频率高,如果在回调中有dom操作比较消耗性能。很容易导致卡顿或者浏览器
崩溃,而实际需求往往不需要执行那么频繁。
如何解决该问题:
<script>
function throttle(fun,delay){
let timer = null;
if(timer){
clearTimeout(timer);
}
return function(){
setTimeout(function(){
fun();
},delay);
}
}
var firstResize = true;
window.onresize = function(){
if(firstResize){
throttle(function(){
alert(1)
},30)();
}
firstResize = false;
}
</script>
参考:https://www.jianshu.com/p/4f3e2c8f5e95