简单 防抖 节流

<div class="move-box">宽100高100</div>
        <input type="text" class="input">
    <script>
        let timer = null
        let dTimer = null
        let click = function(){
            throttle(()=>{
                console.log('点击ll')
            })
        }
        let input = function(e){
            double(()=>{
                console.log(e.target.value)
            })
            
        }
        document.getElementsByClassName('move-box')[0].onclick = click
        document.getElementsByClassName('input')[0].oninput = input
        
        // 节流
        function throttle(fn,delay = 1500){
            if(!timer){
                fn()
                timer = setTimeout(()=>{
                    clearTimeout(timer)
                    timer = null
                },delay)
            }
        }
        // 防抖
        function double(fn){
            if(dTimer){
                clearTimeout(dTimer)
            }
            dTimer = setTimeout(() => {
                fn()
                clearTimeout(dTimer)
                dTimer = null
            }, 500);
        }

新增一个

// 防抖函数 立即执行
const debounce = (fn, wait = 2000,bthis = false) => {
		return function(...args) {
		    const content = this
			if(timer){
				clearTimeout(timer)
			}
			let callNow = !timer
		    timer = setTimeout(() => {
				timer = null
		    }, wait)
			if (callNow){
				return bthis ? fn.apply(content, args) : fn(...args)
			}
		}
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值