關於scrollLeft的獲取在不一樣瀏覽器或相同瀏覽器的不一樣版本下的獲取

chrome61向w3c規則靠攏,document.body.scrollLeft獲取的值一直爲0,須要使用document.documentElement.scrollLeft(或document.scrollingElement.scrollLeft)獲取;javascript

可是舊版谷歌(60版本以及如下)中,document.documentElement.scrollLeft的值一直爲0,須要使用document.body.scrollLeft(或document.scrollingElement.scrollLeft)獲取;html

在火狐57瀏覽器中,document.body.scrollLeft的值一直爲0,須要使用document.documentElement.scrollLeft(或document.scrollingElement.scrollLeft)獲取;java

在火狐43瀏覽器中,document.body.scrollLeft一直爲0,document.scrollingElement爲undefined,須要使用document.documentElement.scrollLeft獲取。chrome

因此綜合後的兼容性寫法爲:瀏覽器

let elem = document.documentElement || document.scrollingElement || document.body;
let left = elem.scrollLeft;

參考資料:Jerry Qu Chrome 中 scrollingElement 的變化post

源文連接:http://www.cnblogs.com/xsilence/p/8204007.htmlcode

相關文章
相關標籤/搜索