Mam nadzieję, że znajdę sposób na uzyskanie aktualnej pozycji widocznego okna (w stosunku do całkowitej szerokości / wysokości strony), dzięki czemu będę mógł użyć go do wymuszenia przewijania z jednej sekcji do drugiej. Wydaje się jednak, że istnieje ogromna liczba opcji, jeśli chodzi o zgadywanie, który obiekt zawiera prawdziwe X / Y dla przeglądarki.
Które z nich muszę mieć pewność, że IE 6+, FF 2+ i Chrome / Safari działają?
window.innerWidth
window.innerHeight
window.pageXOffset
window.pageYOffset
document.documentElement.clientWidth
document.documentElement.clientHeight
document.documentElement.scrollLeft
document.documentElement.scrollTop
document.body.clientWidth
document.body.clientHeight
document.body.scrollLeft
document.body.scrollTop
Czy są jeszcze jakieś? Kiedy już wiem, gdzie jest okno, mogę ustawić łańcuch zdarzeń, który będzie powoli wywoływał, window.scrollBy(x,y);
aż osiągnie pożądany punkt.
źródło
jQuery.fn.offset()
.scrollTop()
/scrollLeft()
wykonaj w zasadzie to samo, ale nie odejmuj clientTop / clientLeft.Może prościej;
Kredyty: so.dom.js # L492
źródło
document.documentElement.scrollTop
który działa wszędzie.Używając czystego javascript, możesz użyć Window.scrollX i Window.scrollY
Notatki
Oto szybkie demo
źródło
window.pageYOffset
źródło