首頁  >  文章  >  web前端  >  為什麼 `document.body.scrollTop` 在 IE 中回傳 0,如何修復?

為什麼 `document.body.scrollTop` 在 IE 中回傳 0,如何修復?

Linda Hamilton
Linda Hamilton原創
2024-11-12 09:28:01855瀏覽

Why Does `document.body.scrollTop` Return 0 in IE and How Can I Fix It?

在IE 中使用document.body.scrollTop 取得準確的滾動位置

在IE 中,透過document.body.scrollTop 一致地訪問滾動位置即使滾動時也返回0。對於尋求有效追蹤滾動事件的開發人員來說,這種行為可能會令人困惑。

為了解決此問題,瀏覽器實作了兩種獨立的渲染模式:Quirks 模式和標準模式。 Quirks 模式專為在 Web 標準被廣泛採用之前創建的舊網站而設計。在 Quirks 模式下,IE 錯誤地將 document.body.scrollTop 設為 0。

要解決此差異,一種解決方案是確保您的網站使用標準模式文件類型:

以防萬一您的網站無法切換到標準模式,還有另一種方法:

此程式碼會檢查documentElement 和body。如果定義了 documentElement,則它優先,因為它提供了更準確的滾動位置。否則,它會回退到 document.body.scrollTop。

以上是為什麼 `document.body.scrollTop` 在 IE 中回傳 0,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn