J'essaye donc d'utiliser le JavaScript on scroll
pour appeler une fonction. Mais je voulais savoir si je pouvais détecter la direction du défilement sans utiliser jQuery. Sinon, existe-t-il des solutions de contournement?
Je pensais simplement mettre un bouton «en haut», mais j'aimerais éviter cela si je le pouvais.
Je viens d'essayer d'utiliser ce code mais cela n'a pas fonctionné:
if document.body.scrollTop <= 0 {
alert ("scrolling down")
} else {
alert ("scrolling up")
}
javascript
scroll
onscroll
dwinnbrown
la source
la source
wheelDelta
de l'événement. Pas du tout multi-navigateur. Voir phrogz.net/js/wheeldelta.htmlRéponses:
Il peut être détecté en stockant la
scrollTop
valeur précédente et en comparant la valeur scrollTop actuelle avec elle.JavaScript:
la source
lastScrollTop
sur pageYOffset || scrollTop plutôt que de supposer 0Un moyen simple de capturer tous les événements de défilement (tactile et molette)
la source
Utilisez ceci pour trouver la direction du défilement. C'est uniquement pour trouver la direction du défilement vertical. Prend en charge tous les navigateurs croisés.
Exemple
la source
Vous pouvez essayer de faire ceci.
la source
Ceci est un ajout à ce que prateek a répondu.Il semble y avoir un problème dans le code dans IE donc j'ai décidé de le modifier un peu rien d'extraordinaire (juste une autre condition)
la source
// Initialisation
// Écoute de l'événement
la source
Vous pouvez obtenir la position de la barre de défilement en utilisant
document.documentElement.scrollTop
. Et puis il s'agit simplement de le comparer à la position précédente.la source
Ce code simple fonctionnerait: Vérifiez la console pour les résultats.
la source
J'utilise personnellement ce code pour détecter la direction de défilement en javascript ... Il suffit de définir une variable pour stocker la valeur de lastscroll, puis de l'utiliser if & else
la source
Code simple
la source