scrollTop的兼容性小结
2019獨角獸企業重金招聘Python工程師標準>>>
在頁面上加上了
<!DOCTYPE ? HTML ? PUBLIC ? "-//W3C//DTD ? HTML ? 4.01 ? Transitional//EN" ??
? "http://www.w3.org/TR/html4/loose.dtd">
之后,document.body.scrollTop的值一直為0(在IE和FF下),網上有人改為document.documentElement.scrollTop就可以了,試用了一下真的OK了。
?
但是當換到Google瀏覽器時,問題又出來了,document.documentElement.scrollTop值一直為0!到是document.body.scroll的值正確了。
?
網上有解決方案如下:(http://www.codebit.cn/pub/html/javascript/tip/get_scroll_position/)
[javascript]?view plaincopy
<mce:script?type="text/javascript"><!--??
???
???
//?說明:用?Javascript?獲取滾動條位置等信息???
//?來源?:ThickBox?2.1????
//?整理?:CodeBit.cn?(?http://www.CodeBit.cn?)???
???
function?getScroll()????
{???
????var?t,?l,?w,?h;???
???????
????if?(document.documentElement?&&?document.documentElement.scrollTop)?{???
????????t?=?document.documentElement.scrollTop;???
????????l?=?document.documentElement.scrollLeft;???
????????w?=?document.documentElement.scrollWidth;???
????????h?=?document.documentElement.scrollHeight;???
????}?else?if?(document.body)?{???
????????t?=?document.body.scrollTop;???
????????l?=?document.body.scrollLeft;???
????????w?=?document.body.scrollWidth;???
????????h?=?document.body.scrollHeight;???
????}???
????return?{?t:?t,?l:?l,?w:?w,?h:?h?};???
}???
???
//?--></mce:script>???
?
?
首先說明,這段代碼是正確的。只是當document.documentElement和document.documentElement.scrollTop都有值,但是document.documentElement.scrollTop==0時,有點誤導人,呵呵。
于是我改成如下:
?
[javascript]?view plaincopy
var?top?=?document.body.scrollTop;??
if(0==top){??
????top?=?document.documentElement.scrollTop;??
}??
alert(top);??
?
?
后來發現
var top =?document.body.scrollTop |?document.documentElement.scrollTop;
?
這樣更簡單,而且在我的幾種瀏覽器下也都OK。。。。。
?
轉載于:https://my.oschina.net/122612475/blog/313478
總結
以上是生活随笔為你收集整理的scrollTop的兼容性小结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css属性 content
- 下一篇: 快速傅里叶变换应用之二 hdu 4609