防止暴力点击(节流)

节流(throttle)

在n秒内点击多次,只有一次生效。




效果演示:

 

防止暴力点击(节流)_第1张图片

补充

当然,也可以对其进行封装,以便复用。


/*
 * 函数节流
 */
export const Throttle = (fn, t) => {
    let last;
    let timer;
    let interval = t || 500;
    return function () {
        let args = arguments;
        let now = +new Date();
        if (last && now - last < interval) {
            clearTimeout(timer);
            timer = setTimeout(() => {
                last = now;
                fn.apply(this, args);
            }, interval);
        } else {
            last = now;
            fn.apply(this, args);
        }
    }
};

 

你可能感兴趣的:(前端小知识点)