var COUNT = 0, demo = document.getElementById('demo');
function testFn() {demo.innerHTML += 'testFN 被调用了 ' + ++COUNT + '次<br>';}

var throttle = function (fn, delay, atleast) {
var timer = null;
var previous = null;

return function () {
var now = +new Date();

if ( !previous ) previous = now;
if ( atleast && now - previous > atleast ) {
fn();
// 重置上一次开始时间为本次结束时间
previous = now;
clearTimeout(timer);
} else {
clearTimeout(timer);
timer = setTimeout(function() {
fn();
previous = null;
}, delay);
}
}
};
// window.onscroll = throttle(testFn, 200);
window.onscroll = throttle(testFn, 200, 1000);

var timer = null;
window.onresize = function () {
clearTimeout(timer);
timer = setTimeout(function() {
testFn();
}, 100);
};

var throttle = function (fn, delay) {
var timer = null;

return function () {
clearTimeout(timer);
timer = setTimeout(function() {
fn();
}, delay);
}
};
window.onresize = throttle(testFn, 200, 1000);

 posted on 2016-11-21 06:06  jayruan  阅读(259)  评论(0编辑  收藏  举报