Maison > interface Web > js tutoriel > Comment puis-je détecter la fin du défilement dans jQuery ?

Comment puis-je détecter la fin du défilement dans jQuery ?

DDD
Libérer: 2024-12-13 02:22:13
original
523 Les gens l'ont consulté

How Can I Detect the End of Scrolling in jQuery?

jQuery : Détecter la fin du défilement

Introduction :
Dans le développement Web, la gestion du défilement des utilisateurs peut être cruciale pour améliorer l'expérience utilisateur . La fonction scroll() de jQuery fournit un moyen pratique de détecter les événements de défilement. Cependant, comprendre quand un utilisateur a arrêté le défilement est également vital pour certains scénarios.

Comprendre le problème :
Le code fourni montre comment supprimer une classe lors du défilement. Cependant, l'OP a l'intention de rajouter la classe lorsque le défilement s'arrête. En effet, la classe supprimée entre en conflit avec un effet de transparence souhaité lors du défilement.

Détection de la fin du défilement :
Pour y parvenir, nous devons détecter quand le défilement a cessé. Voici une solution utilisant la fonction scroll() avec un timeout :

$(window).scroll(function() {
    clearTimeout($.data(this, 'scrollTimer'));
    $.data(this, 'scrollTimer', setTimeout(function() {
        console.log("Haven't scrolled in 250ms!");
    }, 250));
});
Copier après la connexion

Ce code définit un timeout de 250 millisecondes. Lorsque l'utilisateur fait défiler, le délai d'attente est réinitialisé. Si l'utilisateur arrête le défilement pendant 250 millisecondes, la fonction de délai d'attente se déclenche, indiquant la fin du défilement.

Solution avancée :
Pour les situations où un timing précis est crucial, envisagez d'utiliser jQuery. unévénement.js. Cette extension améliore la gestion des événements de jQuery pour permettre aux gestionnaires d'événements d'être déclenchés uniquement après un délai spécifique.

$(window).on('scroll', function(e) {
    console.log(e.type + '-event was 250ms not triggered');
}, 250);
Copier après la connexion

Avec cette extension, vous pouvez spécifier un délai de 250 millisecondes, déclenchant le rappel uniquement après l'événement de défilement. arrêté pendant cette durée.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal