Więc próbuję użyć JavaScript on scroll
do wywołania funkcji. Ale chciałem wiedzieć, czy mogę wykryć kierunek przewijania bez użycia jQuery. Jeśli nie, to czy są jakieś obejścia?
Myślałem o umieszczeniu przycisku „do góry”, ale chciałbym tego uniknąć, gdybym mógł.
Właśnie próbowałem użyć tego kodu, ale to nie zadziałało:
if document.body.scrollTop <= 0 {
alert ("scrolling down")
} else {
alert ("scrolling up")
}
javascript
scroll
onscroll
dwinnbrown
źródło
źródło
wheelDelta
wydarzenie. Całkiem nie cross-browser. Zobacz phrogz.net/js/wheeldelta.htmlOdpowiedzi:
Można to wykryć, przechowując poprzednią
scrollTop
wartość i porównując z nią bieżącą wartość scrollTop.JavaScript:
źródło
lastScrollTop
pageYOffset || scrollTop zamiast zakładać 0Prosty sposób na złapanie wszystkich zdarzeń przewijania (dotyk i kółko)
źródło
Użyj tego, aby znaleźć kierunek przewijania. To tylko po to, aby znaleźć kierunek pionowego zwoju. Obsługuje wszystkie przeglądarki internetowe.
Przykład
źródło
Możesz spróbować to zrobić.
źródło
To jest dodatek do tego, na co odpowiedział prateek, wygląda na to, że w kodzie w IE jest usterka, więc postanowiłem go trochę zmodyfikować, nic nadzwyczajnego (tylko inny warunek)
źródło
// Inicjalizacja
// Słucham wydarzenia
źródło
Możesz uzyskać położenie paska przewijania za pomocą
document.documentElement.scrollTop
. A potem jest po prostu kwestia porównania go z poprzednią pozycją.źródło
Ten prosty kod działałby: Sprawdź wyniki w konsoli.
źródło
Osobiście używam tego kodu do wykrywania kierunku przewijania w javascript ... Po prostu musisz zdefiniować zmienną do przechowywania lastscrollvalue, a następnie użyć tego if & else
źródło
Prosty kod
źródło