IE
对于没有 doctype 声明的页面用 document.body.scrollTop
Chrome、Firefox
对于有 doctype 声明的页面,则使用
document.documentElement.scrollTop
Safari
safari 比较特别,有自己获取 scrollTop 的函数 : window.pageYOffset;只读属性 pageYOffset 是 scrollY 的别名。
1 2 3 4
| const scrollTop = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop; const scrollLeft = window.pageXOffset || document.body.scrollLeft || document.documentElement.scrollLeft;
|
or
1 2 3 4 5 6
| export function getScrollCoord() { const scrollTop = window.scrollY || document.body.scrollTop || document.documentElement.scrollTop; const scrollLeft = window.scrollX || document.body.scrollLeft || document.documentElement.scrollLeft; return { scrollTop, scrollLeft }; }
|