2008-09-30 3 views
9

Ich bin auf der Suche nach einer browserübergreifenden Methode, um zu erkennen, dass ein Client-Webbrowser ganz nach unten (oder oben) auf dem Bildschirm gescrollt wird.Wie kann ich feststellen, dass der Client zum Anfang oder Ende einer Webseite gescrollt wurde?

Wirklich, ist die Spitze ziemlich einfach, wie
scrY = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop
Null ist, wenn man an der Spitze ist. Das Problem ist, dass scrY den oberen Teil der Bildlaufleiste und nicht den unteren zurückgibt. Anstatt also etwas zu erhalten, das der Höhe des Dokuments entspricht (in Pixeln), ist vermutlich die Höhe des Dokuments abzüglich der Größe des Scrollleiste.

Gibt es eine einfache, browserübergreifende Möglichkeit, herauszufinden, ob der Benutzer bis zum Ende des Dokuments/Fensters gescrollt hat? Insbesondere verstehe ich die allgemeine Bildlaufleiste (Einstellung, Verschieben usw.), aber wie kann ich das Delta der unteren Position der Bildlaufleiste relativ zum unteren Rand des Fensters/Dokuments erhalten.

Antwort

2

Eine Summe nutzen, was 3,5 FF arbeitet in:

function isTop() { 
    return window.pageYOffset == 0; 
} 

function isBottom() { 
    return window.pageYOffset >= window.scrollMaxY; 
} 
+1

scrollMaxY ist in Webkit nicht verfügbar – Ivan

Verwandte Themen