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

函数防抖 主要用于限制高频触发事件函数的执行间隔

时间:2017-03-27 18:35:34      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:fine   undefined   this   set   间隔   logs   art   color   blog   

var debounce = function (func, wait, lossless) {
    var lastTimeout, alreadyDo = false;
    if (typeof lossless == ‘undefined‘)
        lossless = true;
    return function () {
        var context = this,
              args = arguments;
        if (!alreadyDo) {
            alreadyDo = true;
            setTimeout(function () { alreadyDo = false }, wait);
            clearTimeout(lastTimeout);
            func.apply(context, args);
        } else if (lossless) {
            clearTimeout(lastTimeout);
            lastTimeout = setTimeout(function () {
                func.apply(context, args);
            }, wait);
        }
    };
}

///防抖函数
///防止事件函数高频执行,间隔wait毫秒执行
///lossless是否保存最后一次未到间隔时间的执行

 

函数防抖 主要用于限制高频触发事件函数的执行间隔

标签:fine   undefined   this   set   间隔   logs   art   color   blog   

原文地址:http://www.cnblogs.com/shuchong/p/6627969.html

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