函数防抖

       指触发事件后n秒内函数只能执行一次,如果再n秒内又触发了事件,则会重新计算函数执行时间。类似于乘客上公交车,乘客上车n秒后司机关闭车门,n秒内有其他乘客上车时,司机重新计算关门的n秒时间。

未使用函数防抖时

input发生变化时发起请求

运行结果:

 

使用函数防抖

运行结果

 

实现代码

<body>
	<h2>防抖</h2>
	<input placeholder="请输入电话" />
	<script>
		//防抖: 将多次操作变成一次
		let telInput = document.querySelector("input")
		telInput.addEventListener('input',antiShate(demo,2000))
			
		//防抖封装
		function antiShate(fn,wait){
			let timeout = null
			return args =>{
				if(timeout){
					clearTimeout(timeout)
				}
				timeout = setTimeout(fn,wait)
			}
		}
			
		//请求函数
		function demo(){
			console.log("发起请求")
		}
	</script>
</body>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值