關於js中 document.body.scrollTop 不能返回正確值的原因


本來是為了通過document.body.scrollTop來獲取瀏覽器垂直滾動條向下滾動的像素,但是不管滾動條在什么位置總是返回是0,造成這樣的原因和html的頭部聲明有關,如果頭部聲明 為:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">,這樣肯定得到的結果是 0,如果該為<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">就能得到正確的結果,對於第一種頭部聲明想要得滾動條的滾動的高度怎么辦,解決方法有兩種

1、var scrollPos; if (typeof window.pageYOffset != 'undefined') {    scrollPos = window.pageYOffset; } else if (typeof document.compatMode != 'undefined' &&      document.compatMode != 'BackCompat') {    scrollPos = document.documentElement.scrollTop; } else if (typeof document.body != 'undefined') {    scrollPos = document.body.scrollTop; }

2、用document.documentElement.scrollTop 替代 document.body.scrollTop

 

轉自:http://my.csdn.net/netingcn


免責聲明!

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



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