Gibt es eine vorhersehbare Beziehung zwischen kumulativem offsetTop
eines <a>
-Elements und dem Wert von scrollTop
nach dem Navigieren zu diesem <a>
-Element?
Ich hatte naiv angenommen, dass sie gleich wären, aber ich habe Fälle gefunden, in denen scrollTop
größer ist (die Bildlaufposition befindet sich weiter unten auf der Seite).
Im Folgenden wird die Frage präzisiert:
%Vor% Mein ultimatives Ziel ist es, das nächste <a>
-Tag zu finden, dessen Start über dem oberen Bereich des aktuellen Ansichtsfensters liegt. Auf diese Weise kann ich rückwärts (und vorwärts) zu Lesezeichen relativ zur aktuellen Position in einem Dokument springen.
Gibt es einige andere Maßnahmen, die ich anstelle von scrollTop
und kumulative offsetTop
verwenden sollte?
Ich untersuche das Problem mit Chrome, möchte aber letztendlich etwas finden, das in mindestens einigen modernen Browsern funktioniert. Ich versuche, jQuery zu vermeiden.
Der Hauptunterschied, ohne zu sehr ins Detail zu gehen:
offsetTop ist schreibgeschützt, während scrollTop schreibgeschützt ist. Demnach wären Sie auf der sicheren Seite, wenn Sie offsetTop verwenden sollten:
Seien Sie vorsichtig mit der Eigenschaft scrollTop des HTML-Elements!
Im Internet Explorer vor Version 8 wird der Bildlauf abgerufen Betrag in physischer Pixelgröße, während ab Version 8 der Wert zurückgegeben wird Menge in logischer Pixelgröße. Was heißt das? Wenn der Browser nicht ist auf der normalen Zoomstufe (der Benutzer hat die Möglichkeit, ein oder aus zu zoomen) Webseite: STRG und +, STRG und -), die Eigenschaft scrollTop funktioniert anders als in der Version 8 als in früheren Versionen.
Der Bildlaufbetrag wird in der Standardpixelgröße in Internet Explorer vor Version 8 berechnet, selbst wenn die aktuelle Pixelgröße in Das Dokument ist anders. Ab Internet Explorer 8 und in Firefox, Opera, Google Chrome und Safari wird der Scroll-Betrag in der aktuellen Pixelgröße berechnet.
Wenn beispielsweise die Zoomstufe 200% beträgt, wird die Eigenschaft scrollTop verwendet ruft vor der Version 8 zwei Mal höhere Werte ab als aus der Version 8 für die gleiche Scroll-Position.
Quelle für den Text und weitere Informationen zu den beiden: Quelle
Tags und Links javascript scroll offset