码迷,mamicode.com
首页 > 其他好文 > 详细

vue项目中的去抖与节流

时间:2020-02-22 09:46:08      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:set   exp   port   app   argument   timer   bounce   div   timeout   

// 防抖
export function _debounce(fn, delay) {

    var delay = delay || 200;
    var timer;
    return function () {
        var th = this;
        var args = arguments;
        if (timer) {
            clearTimeout(timer);
        }
        timer = setTimeout(function () {
            timer = null;
            fn.apply(th, args);
        }, delay);
    };
}
// 节流
export function _throttle(fn, interval) {
    var last;
    var timer;
    var interval = interval || 200;
    return function () {
        var th = this;
        var args = arguments;
        var now = new Date();
        if (last && now - last < interval) {
            clearTimeout(timer);
            timer = setTimeout(function () {
                last = now;
                fn.apply(th, args);
            }, interval);
        } else {
            last = now;
            fn.apply(th, args);
        }
    }
}

vue项目中的去抖与节流

标签:set   exp   port   app   argument   timer   bounce   div   timeout   

原文地址:https://www.cnblogs.com/guozhiqiang/p/12343988.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!