Exécuter une fonction JavaScript une seule fois dans un délai imparti
Concept et utilisation
La fonction Debounce()
permet d'exécuter une fonction une seule fois dans un délai imparti.
Fonction
debounce()
- Syntaxe
debounce(fonction, delai);
- Paramètres
fonction
(Function)Le paramètre
fonction
de la fonctiondebounce()
définit une fonction pour laquelle limiter l'exécution à une seule fois dans un délai imparti.delai
(Number)Le paramètre
delai
de la fonctiondebounce()
définit le délai en millisecondes durant lequel la fonction ne pourra plus être invoquée si elle a déjà été invoquée.
Le minuteur est remis à zéro quand le délai est écoulé.
Par défaut, la valeur du délai est "250
".
Exemple d'exécution répétée d'une fonction
var delai = 500;
var fonction = function() {
console.log('Fonction exécutée');
};
var fonction_debounce = debounce(fonction, delai);
fonction_debounce(); // renvoie 'Fonction exécutée'
fonction_debounce(); // ne renvoie rien
setTimeout(fonction_debounce, 1000); // renvoie 'Fonction exécutée'
Code source de la fonction
function debounce(f, d) {
d = d || 250;
var t = null;
return function() {
var c = this, a = arguments;
clearTimeout(t);
t = setTimeout(function() {
f.apply(c, a);
}, d);
};
}
Dernière mise à jour le .