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()Retourne une fonction invocable une seule fois dans un délai imparti.
- Syntaxe
debounce(fonction, delai);- Paramètres
fonction(Function)Le paramètre
fonctionde 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
delaide 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 .
