Maison > interface Web > js tutoriel > Comment pouvez-vous déterminer la direction de défilement en JavaScript sans jQuery ?

Comment pouvez-vous déterminer la direction de défilement en JavaScript sans jQuery ?

Susan Sarandon
Libérer: 2024-10-28 08:33:30
original
714 Les gens l'ont consulté

How Can You Determine Scroll Direction in JavaScript Without jQuery?

Détection de la direction de défilement sans jQuery

Dans le développement Web, la détection de la direction d'un défilement peut être utile pour implémenter des fonctionnalités telles que le défilement ou la réduction infinie barres d'outils. Bien que des bibliothèques comme jQuery offrent des solutions simples, explorons comment cela peut être réalisé sans leur utilisation.

Pour déterminer la direction de défilement, nous pouvons suivre la position de défilement précédente (scrollTop ou pageYOffset) et la comparer avec la position de défilement actuelle. position. Cette différence signifie si nous faisons défiler vers le haut ou vers le bas.

Voici un extrait de JavaScript qui illustre cette approche :

<code class="javascript">var lastScrollTop = 0;

// element should be replaced with the actual target element on which you have applied scroll, use window in case of no target element.
element.addEventListener("scroll", function(){ 
   var st = window.pageYOffset || document.documentElement.scrollTop; // Credits: "https://github.com/qeremy/so/blob/master/so.dom.js#L426"
   if (st > lastScrollTop) {
      // downscroll code
   } else if (st < lastScrollTop) {
      // upscroll code
   } // else was horizontal scroll
   lastScrollTop = st <= 0 ? 0 : st; // For Mobile or negative scrolling
}, false);</code>
Copier après la connexion

Dans ce code, nous vérifions si la position de défilement actuelle est supérieure à ou inférieure à la position de défilement précédente. Si c'est plus grand, nous faisons défiler vers le bas, et si c'est moins, nous faisons défiler vers le haut. Le défilement horizontal est également pris en compte en vérifiant si la position de défilement est inchangée.

En stockant la position de défilement précédente et en la comparant avec la position actuelle, nous pouvons détecter efficacement la direction de défilement sans avoir besoin de bibliothèques externes. Cette méthode peut être appliquée à divers éléments, y compris l'objet window pour la détection globale du défilement.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal