[No000067]Js中獲取當前頁面的滾動條縱坐標位置scrollTop


  三種方法任選其一:

var sTop = document.body.scrollTop+document.documentElement.scrollTop;
var sTop = document.documentElement.scrollTop || document.body.scrollTop;
var sTop = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;

造成的原因:

document.body.scrollTopxhtml標准網頁或者更簡單的說是帶<!DOCTYPE ..>標簽的頁面里得到的結果是0,如果不要此標簽則一切正常。

使用document.documentElement來取代document.body,:在javascript||是個好東西,除了能用在if等條件判斷里,還能用在變量賦值上。

chrome不認識document.documentElement.scrollTop!如果有文檔聲明(即網頁第一句的docType)的情況下,標准瀏覽器是只認識documentElement.scrollTop的,但chrome雖然我感覺比firefox還標准,但卻不認識這個,在有文檔聲明時,chrome也只認識document.body.scrollTop.

由於在不同情況下,document.body.scrollTopdocument.documentElement.scrollTop都有可能取不到值。

相反,如果不做聲明的話,document.documentElement.scrollTop反而會顯示為0

因為document.body.scrollTopdocument.documentElement.scrollTop兩者有個特點,就是同時只會有一個值生效。比如document.body.scrollTop能取到值的時候,document.documentElement.scrollTop就會始終為0;反之亦然。

這兩個值總會有一個恆為0,所以不用擔心會對真正的scrollTop造成影響。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM