Javascript节流器

来源:互联网 发布:淘宝联盟api推广是什么 编辑:程序博客网 时间:2024/05/16 01:14

节流器:对重复的业务逻辑进行节流控制,执行最后一次操作并取消其他操作,以提高性能。

节流器可在很多UI操作中用到,例如绑定了scroll、mouseover事件等

//节流器var throttle = function(){    //获取第一个参数    var isClear = arguments[0],fn;    //如果第一个参数是boolean类型,那么表示清除计时器    if(typeof isClear === 'boolean'){        //第二参数为函数        fn = arguments[1];        //如果设置了计时器句柄,就删除        fn._throttleID  && clearTimeout(fn._throttleID) ;    }else{        //第一个参数为函数        fn = isClear;        //第二参数为函数的传参        var param = arguments[1];        var p = $.extend({            context:null,//作用域            args:[],//执行的参数            timeout:300//延时时间        },param);        //清除计时器句柄        arguments.callee(true,fn);        //设置计时器        fn._throttleID = setTimeout(function(){            fn.apply(p.context,p.args);        },p.timeout);    }}
0 0
原创粉丝点击