Heim > Artikel > Web-Frontend > Warum gibt „document.body.scrollTop' im IE 0 zurück und wie kann ich das beheben?
Genaue Bildlaufposition im IE mithilfe von document.body.scrollTop ermitteln
Im IE konsistenter Zugriff auf die Bildlaufposition über document.body.scrollTop gibt 0 zurück, auch beim Scrollen. Dieses Verhalten kann für Entwickler, die Scrollereignisse effektiv verfolgen möchten, verwirrend sein.
Um dieses Problem zu beheben, implementieren Browser zwei separate Rendering-Modi: Quirks-Modus und Standards-Modus. Der Quirks-Modus wurde für ältere Websites entwickelt, die vor der weiten Einführung von Webstandards erstellt wurden. Im Quirks-Modus setzt IE document.body.scrollTop fälschlicherweise auf 0.
Um diese Diskrepanz zu beheben, besteht eine Lösung darin, sicherzustellen, dass Ihre Website den Standardmodus-Dokumenttyp verwendet:
<!DOCTYPE html>
Falls Ihre Website kann nicht in den Standardmodus wechseln. Es gibt einen alternativen Ansatz:
var top = (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;
Dieser Code überprüft sowohl das documentElement als auch den Text. Wenn documentElement definiert ist, hat es Vorrang, da es eine genauere Bildlaufposition bietet. Andernfalls wird auf document.body.scrollTop zurückgegriffen.
Das obige ist der detaillierte Inhalt vonWarum gibt „document.body.scrollTop' im IE 0 zurück und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!