Heim  >  Artikel  >  Web-Frontend  >  Warum gibt „document.body.scrollTop“ im IE immer 0 zurück?

Warum gibt „document.body.scrollTop“ im IE immer 0 zurück?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-16 05:47:03441Durchsuche

Why Does `document.body.scrollTop` Always Return 0 in IE?

Fehlerbehebung bei Document.body.scrollTop. Gibt im IE immer 0 zurück

Problem:
Abrufen der Bildlaufposition Die Verwendung von document.body.scrollTop in Internet Explorer gibt konsistent 0 zurück, auch wenn die Seite vorhanden ist gescrollt.

Grund:
IE handhabt das Scrollen von Seiten anders als andere Browser. Insbesondere in älteren Versionen kann document.body.scrollTop Scrollbewegungen möglicherweise nicht zuverlässig verfolgen.

Lösung:

Für ältere Versionen von IE wird ein umfassender Ansatz empfohlen:

var top = (document.documentElement && document.documentElement.scrollTop) || 
              document.body.scrollTop;

Dieser Code überprüft sowohl document.documentElement.scrollTop als auch document.body.scrollTop, um in den meisten Versionen von die richtige Bildlaufposition zu erhalten IE.

Wenn Sie eine neuere Version von IE verwenden oder ein verfeinerterer Ansatz erforderlich ist, sollten Sie stattdessen die Eigenschaft window.scrollY verwenden:

var top = window.scrollY;

window.scrollY bietet eine Cross- Browserlösung zum Abrufen der vertikalen Bildlaufposition.

Das obige ist der detaillierte Inhalt vonWarum gibt „document.body.scrollTop“ im IE immer 0 zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn