Exécuter une fonction JavaScript une fois par intervalles de temps réguliers
Concept et utilisation
La fonction throttle()
permet d'exécuter une fonction une fois par intervalles de temps réguliers.
Fonction
throttle()
Retourne une fonction pourra être invoquée par intervalles de temps réguliers.
- Syntaxe
throttle(fonction, intervalle);
- Paramètres
fonction
(Function)Le paramètre
fonction
de la fonctionthrottle()
définit une fonction pour laquelle appliquer une limitation d'exécutions à intervalles réguliers.intervalle
(Number)Le paramètre
intervalle
de la fonctionthrottle()
définit un intervalle de temps en millisecondes durant lequel une fonction ne pourra plus être invoquée.
La valeur par défaut de l'intervalle est "250
".
Exemple d'exécutions répétitives d'une fonction
var intervalle = 1000;
var fonction = function() {
console.log(window.scrollY);
};
var fonction_throttle = throttle(fonction, intervalle);
window.addEventListener('scroll', fonction_throttle);
// renvoie la position de la barre de défilement à chaque seconde passée
Code source de la fonction
function throttle(f, d) {
d = d || 250;
var l, t = null;
return function() {
var c = this,
a = arguments,
n = (new Date()).getTime();
if (l && n < l + d) {
clearTimeout(t);
t = setTimeout(function() {
l = n;
f.apply(c, a);
}, d);
} else {
l = n;
f.apply(c, a);
}
};
}
Dernière mise à jour le .