獲取不到scrollTop的問題

2021-09-13 10:16:00 字數 740 閱讀 1326

今天在開發過程中需要獲取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...