// 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));
javascript
https://css-tricks.com/the-difference-between-throttling-and-debouncing/
<iframe width="100%" height="776" src="http://snipet.teknotit.com/index.php?embed=58cf6004af522" type="text/html"></iframe>
Texte seul - Permalink - Snippet public posté le 20/03/2017