今天在開發過程中需要獲取scrolltop,但是不論是用原生的scrolltop還是jq的scrolltop獲取到的值始終為0。
原來是doctype的坑。
//獲取scrolltop始終為0
// 可正常獲取scrolltop
所以說,按照w3c標準開發是多麼的重要
各瀏覽器下 scrolltop的差異
ie6/7/8:
對於沒有doctype宣告的頁面裡可以使用 document.body.scrolltop 來獲取 scrolltop高度 ;
對於有doctype宣告的頁面則可以使用 document.documentelement.scrolltop;
safari:
safari 比較特別,有自己獲取scrolltop的函式 : window.pageyoffset ;
firefox:
火狐等等相對標準些的瀏覽器就省心多了,直接用 document.documentelement.scrolltop ;
2、獲取scrolltop值
完美的獲取scrolltop 賦值短語 :
var scrolltop = document.documentelement.scrolltop || window.pageyoffset || document.body.scrolltop;
通過這句賦值就能在任何情況下獲得scrolltop 值。 指令碼取不到實際scrollTop值的問題
要獲取當前頁面的滾動條縱座標位置,用 document.documentelement.scrolltop 替換 document.body.scrolltop documentelement 對應的是html標籤,而body對應的是body標籤,有時候用body取的值總是0,這時只要改成docum...
獲取網頁被卷去的高度scrollTop
document.body.scrolltop與document.documentelement.scrolltop兩者有個特點,就是同時只會有乙個值生效。比如document.body.scrolltop能取到值的時候,document.documentelement.scrolltop就會始終為...
獲取scrollTop相容各瀏覽器的方法,以及繫結
window unbind scroll bind scroll function var scrolltop document.documentelement.scrolltop window.pageyoffset document.body.scrolltop if height scroll...