JavaScript

window--resize防抖

2020-07-20  本文已影响0人  开着五菱宏光的小白

function debounce(operate, delay) {
    let time = null
    let timer = null
    let newTime = null
    function task() {
        newTime = +new Date()
        if(newTime - time < delay){
            timer = setTimeout(task, delay)
        }else {
            operate()
            timer = null
        }
        time = newTime
    }
    return function () {
        // 更新时间戳
        time = +new Date()
        if(!timer){
            timer = setTimeout(task, delay)
        }
    }
}

function task() {
        dosomething...
}

window.addEventListener('resize', debounce(task, 300), false)

上一篇 下一篇

猜你喜欢

热点阅读