Js节流(防连点)和防抖动

Js节流(防连点)和防抖动

1、防连点(节流):类似游戏中的技能冷却时间,冷却时间内点击无效,解除冷却时间后点击才生效。

let lockState = false;	
/**
* 点击触发技能
*/
onClickSkill(){
	if(this.lockState === false){		//判断是否处于冷却状态
		this.lockState = true;			//冷却
		setTimeout(()=>{			
			this.lockState = false;		//解除冷却 (2s后)
		}, 2000)						//冷却时间 (2s)
	}
}

2、防抖动:防抖就是将函数的执行延迟一定时间,如果在该时间内重新触发事件,那么延迟的时间会重置,只有真正达到延迟时间,才会执行回调函数。 类似CSGO中枪支没子弹时,狂点射击,不触发自动换子弹(或者说重置换子弹操作的延迟时间),大概停止点击射击0.5s后才自动换子弹。M4A1的换消声器也是一样的效果 。

let timer = 0;
/**
* 点击射击
*/
onShoot(){
	console.log("shooting out");
	if(timer){						//判断是否存在定时器,有则清掉;
		clearTimeout(timer)
	}
	timer = setTimeout(()=>{		//清掉后,重置定时器。
		onAutoReload();
	},500)
},

/**
* 自动装子弹
*/
onAutoReload(){
	console.log("onReloading")
}

其他参考文档:Js节流和防抖动
壁纸放送:
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值