#Exempel de variable static , function dans le retour
#https://css-tricks.com/the-difference-between-throttling-and-debouncing/
// Pratique au lieu setTimout
function throttle(fn, threshhold, scope) {
threshhold || (threshhold = 250);
var last, deferTimer;
return function() {
var context = scope || this;
var now = +new Date,
args = arguments;
if (last && now < last + threshhold) {
clearTimeout(deferTimer);
deferTimer = setTimeout(function() {
last = now;
fn.apply(context, args);
}, threshhold);
} else {
last = now;
fn.apply(context, args);
}
};
}
Usage avance avec Underscore:
$("body").on('scroll', _.throttle(function() {
}, 100));
$(window).on('resize', _.debounce(function() {
}, 100));