防抖和节流

感情迁移 提交于 2020-02-12 12:19:24
/**
 * 防抖 只执行一次 单位时间内重新触发不执行
 */
function debounce(fn,time){
    let timer = null
    return function() {
        if (timer) {
            clearTimeout(timer)
        }
        timer = setTimeout(fn, time)
    }
}

/**
 * 节流  单位时间内执行一次
 */

function throttle(fn, time) {
    let timer = null
    return function() {
        if (timer) return
        timer = setTimeout(function() {
            fn()
            clearTimeout(timer)
            timer = null
        }, time)
    }
}

function test() {
    let input = document.createElement('input')
    input.addEventListener('input', debounce(fn, 1500))
    document.body.appendChild(input)
}

function fn() {
    console.log('aaa')
}

test()
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!