解决在 resize或scroll事件处理中频繁调用相同方法问题(方法节流和方法去抖动)

问题描述:

在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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值