Internet Explorer 中文件滾動行為不一致
在嘗試透過document.body.scrollTop 動態顯示異常滾動位置時,您遇到異常滾動位置時,您遇到異常滾動位置:它在Internet Explorer 中始終傳回0。要了解為什麼會發生這種情況,讓我們深入研究問題並提供解決方案。
為什麼 IE 中 document.body.scrollTop 總是零?
在早期版本中在 Internet Explorer 中,文件呈現的非標準解釋導致與scrollTop 屬性的行為不一致。當使用嚴格的 HTML5 文件類型時,IE10 及更高版本現在在這方面與其他瀏覽器保持一致。
舊版 IE 版本的替代解決方案
對於舊版 IE,需要替代方法來準確檢索滾動位置。以下程式碼片段提供了後備解決方案:
var top = (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;
此程式碼檢查 documentElement 屬性是否存在並傳回其scrollTop 值。如果沒有,它將回退到 document.body.scrollTop。
透過採用此解決方案,您可以確保跨瀏覽器(包括舊版的 Internet Explorer)擷取一致的捲動位置。
以上是為什麼舊版的 Internet Explorer 中 document.body.scrollTop 總是零?的詳細內容。更多資訊請關注PHP中文網其他相關文章!