DTD
已聲明
IE
document.documentElement.scrollHeight
瀏覽器所有內容高
度
,document.body.scrollHeight
瀏覽器所有內容高度
document.documentElement.scrollTop
瀏覽器滾動部分高度,
document.body.scrollTop
始終為
0
document.documentElement.clientHeight
瀏覽器可視部分高度,
document.body.clientHeight
瀏覽器所有內容高度
FF
document.documentElement.scrollHeight
瀏覽器所有內容高
度
,document.body.scrollHeight
瀏覽器所有內容高度
document.documentElement.scrollTop
瀏覽器滾動部分高度,
document.body.scrollTop
始終為
0
document.documentElement.clientHeight
瀏覽器可視部分高度,
document.body.clientHeight
瀏覽器所有內容高度
Chrome
document.documentElement.scrollHeight
瀏覽器所有內容高度,
document.body.scrollHeight
瀏覽器所有內容高度
document.documentElement.scrollTop
始終為
0
,
document.body.scrollTop
瀏覽器滾動部分高度
document.documentElement.clientHeight
瀏覽器可視部分高度,
document.body.clientHeight
瀏覽器所有內容高度
DTD
未聲明
IE
document.documentElement.scrollHeight
瀏覽器可視部分高度,
document.body.scrollHeight
瀏覽器所有內容高度
document.documentElement.scrollTop
始終為
0
,
document.body.scrollTop
瀏覽器滾動部分高度
document.documentElement.clientHeight
始終為
0
,
document.body.clientHeight
瀏覽器可視部分高度
FF
document.documentElement.scrollHeight
瀏覽器可視部分高度
,
document.body.scrollHeight
瀏覽器所有內容高度
document.documentElement.scrollTop
始終為
0
,
document.body.scrollTop
瀏覽器滾動部分高度
document.documentElement.clientHeight
瀏覽器所有內容高度,
document.body.clientHeight
瀏覽器可視部分高度
Chrome
document.documentElement.scrollHeight
瀏覽器可視部分高
度
,document.body.scrollHeight
瀏覽器所有內容高度
document.documentElement.scrollTop
始終為
0
,
document.body.scrollTop
瀏覽器滾動部分高度
document.documentElement.clientHeight
瀏覽器所有內容高度,
document.body.clientHeight
瀏覽器可視部分高度
瀏覽器所有內容高度即瀏覽器整個框架的高度,
包括滾動條卷去部分
+
可視部分
+
底部隱藏部分的高度總和
瀏覽器滾動部分高度即滾動條卷去部分高度即可視頂端距離整個對象頂端的高
度。
綜上
1
、
document.documentElement.scrollTop
和
document.body.scrollTop
始終有
一個為
0
,所以可以用這兩個的和來求
scrollTop
2
、
scrollHeight
、
clientHeight
在
DTD
已聲明的情況下用
documentElement
,
未聲明的情況下用
body
3
、
document.documentElement.scrollTop
在未聲明的情況下始終為
0
,所以可
以用來判斷是否聲明了
DTD;
所以,
判斷滾動條
是否已拉到頁面最底部,可以用如下代碼
window.onscroll = function (){
var marginBot = 0;
if (document.documentElement.scrollTop){
marginBot = document.documentElement.scrollHeight
–
(document.documentElement.scrollTop+document.body.scrollTop)-document
.documentElement.clientHeight;
} else {
marginBot = document.body.scrollHeight
–
document.body.scrollTop- document.body.clientHeight;
}
if(marginBot<=0) {
//do something
}
}