您的位置:首页 > Web前端 > JavaScript

JavaScript节流函数

2017-10-29 21:21 253 查看
var throttle = function(fn, delay, mustRunDelay){
var timer = null;
var start;
// 这里是利用一个闭包来保存变量,避免污染全局变量
return function(){
var context = this,
args = arguments,
current = +new Date();
clearTimeout(timer);
if(!start){
// 设置开始时间标记
start = current;
}
if(current - start >= mustRunDelay){
fn.apply(context, args);
start = current;
}
else {
timer = setTimeout(function(){
fn.apply(context, args);
}, delay);
}
};
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript 函数节流