//核心函数
function throttle(method, context) {
clearTimeout(method.tId);
method.tId= setTimeout(function(){
method.call(context);
}, 100);
}
//使用示例
function resizeDiv(){
var body = document.body;
body.style.height = body.offsetWidth + "px";
}
window.onresize = function(){
throttle(resizeDiv);
};
只要代码是周期性执行的,都应该使用节流,但是你不能控制请求执行的速率。这里展示的 throttle()函数用了 100ms 作为间隔,你当然可以根据你的需要来修改它。