關於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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章