chrome61向w3c规则靠拢,document.body.scrollLeft获取的值一直为0,需要使用document.documentElement.scrollLeft(或document.scrollingElement.scrollLeft)获取;
但是旧版谷歌(60版本以及以下)中,document.documentElement.scrollLeft的值一直为0,需要使用document.body.scrollLeft(或document.scrollingElement.scrollLeft)获取;
在火狐57浏览器中,document.body.scrollLeft的值一直为0,需要使用document.documentElement.scrollLeft(或document.scrollingElement.scrollLeft)获取;
在火狐43浏览器中,document.body.scrollLeft一直为0,document.scrollingElement为undefined
,需要使用document.documentElement.scrollLeft获取。
所以综合后的兼容性写法为:
let elem = document.documentElement || document.scrollingElement || document.body;let left = elem.scrollLeft;
参考资料:Jerry Qu
源文链接: