本來是爲了通過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