JavaScript的防抖和节流案例

来自:网络
时间:2021-08-10
阅读:
目录
防抖节流:

防抖:在一定的时间内只执行最后一次任务;

节流:一定的时间内只执行一次;

防抖

<button id="debounce">点我防抖!</button>
 
$('#debounce').on('click', debounce());
 
function debounce() {
    let timer;
    // 闭包
    return function () {
        clearTimeout(timer);
        timer = setTimeout(() => {
            // 需要防抖的操作...
            console.log("防抖成功!");
        }, 500);
    }
}

JavaScript的防抖和节流案例

节流:

<button id="throttle">点我节流!</button>
 
$('#throttle').on('click', throttle());
 
function throttle(fn) {
    let flag = true;
    // 闭包
    return function () {
        if (!flag) {
            return;
        }
        flag = false;
        setTimeout(() => {
            console.log("节流成功!");
            flag = true;
        }, 1000);
    };
}

JavaScript的防抖和节流案例

返回顶部
顶部