Ich versuche also, mit JavaScript on scroll
eine Funktion aufzurufen. Aber ich wollte wissen, ob ich die Richtung der Schriftrolle ohne jQuery erkennen kann. Wenn nicht, gibt es dann Problemumgehungen?
Ich dachte daran, nur einen "Nach oben" -Knopf zu drücken, möchte dies aber vermeiden, wenn ich könnte.
Ich habe gerade versucht, diesen Code zu verwenden, aber es hat nicht funktioniert:
if document.body.scrollTop <= 0 {
alert ("scrolling down")
} else {
alert ("scrolling up")
}
javascript
scroll
onscroll
Dwinnbrown
quelle
quelle
wheelDelta
das Ereignis. Ganz und gar nicht browserübergreifend. Siehe phrogz.net/js/wheeldelta.htmlAntworten:
Sie können dies erkennen, indem Sie den vorherigen
scrollTop
Wert speichern und den aktuellen scrollTop-Wert damit vergleichen.JavaScript:
quelle
lastScrollTop
auf pageYOffset || zu initialisieren scrollTop anstatt 0 anzunehmenEinfache Möglichkeit, alle Bildlaufereignisse (Berührung und Rad) zu erfassen
quelle
Verwenden Sie diese Option, um die Bildlaufrichtung zu ermitteln. Dies dient nur zum Ermitteln der Richtung der vertikalen Schriftrolle. Unterstützt alle Cross-Browser.
Beispiel
quelle
Sie können dies versuchen.
quelle
Dies ist eine Ergänzung zu dem, was prateek beantwortet hat. Es scheint einen Fehler im Code im IE zu geben, also habe ich beschlossen, ihn ein wenig zu ändern, nichts Besonderes (nur eine andere Bedingung)
quelle
// Initialisierung
// Das Ereignis abhören
quelle
Sie können die Position der Bildlaufleiste mit abrufen
document.documentElement.scrollTop
. Und dann geht es einfach darum, es mit der vorherigen Position zu vergleichen.quelle
Dieser einfache Code würde funktionieren: Überprüfen Sie die Konsole auf Ergebnisse.
quelle
Ich persönlich benutze diesen Code, um die Bildlaufrichtung in Javascript zu erkennen ... Sie müssen nur eine Variable definieren, um den letzten Bildlaufwert zu speichern, und diese dann verwenden, wenn & else
quelle
Einfacher Code
quelle