La méthode scroll() de jQuery vous permet d'exécuter une fonction lorsqu'un élément défile. Cependant, il ne fournit pas un moyen simple de détecter l'arrêt du défilement.
Pour déterminer quand le défilement a cessé, nous pouvons utiliser un gestionnaire d'événements chronométré. Voici un exemple :
$(window).scroll(function() { clearTimeout($.data(this, 'scrollTimer')); $.data(this, 'scrollTimer', setTimeout(function() { // Scrolling has stopped console.log("Haven't scrolled in 250ms!"); }, 250)); });
Dans ce code, nous définissons une minuterie et la réinitialisons à chaque fois que l'utilisateur fait défiler. Si le minuteur expire, cela indique que le défilement s'est arrêté.
Alternativement, nous pouvons utiliser la fonction étendue on() fournie par l'extension jQuery Unevent.js :
$(window).on('scroll', function(e) { console.log(e.type + '-event was 250ms not triggered'); }, 250);
Unevent.js nous permet de spécifier un paramètre de délai pour les gestionnaires d'événements. De cette façon, le gestionnaire ne se déclenche que si l'événement ne s'est pas produit dans l'intervalle donné.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!