document.documentElement和document.body区别介绍_javascript技巧
程序员文章站
2022-03-27 16:56:32
...
区别:
body是DOM对象里的body子节点,即 标签;
documentElement 是整个节点树的根节点root,即 标签;
没使用DTD情况即怪异模式BackCompat下:
document.documentElement.clientHeight=0document.body.clientHeight=618
使用DTD情况即标准模式CSS1Compat下:
document.documentElement.clientHeight=618 document.body.clientHeight=28(表示内容的高度)
因此提取浏览器的尺寸是要注意了。可以参考以下代码:
if (document.compatMode == "BackCompat") {
cWidth = document.body.clientWidth;
cHeight = document.body.clientHeight;
sWidth = document.body.scrollWidth;
sHeight = document.body.scrollHeight;
sLeft = document.body.scrollLeft;
sTop = document.body.scrollTop;
}
else { //document.compatMode == "CSS1Compat"
cWidth = document.documentElement.clientWidth;
cHeight = document.documentElement.clientHeight;
sWidth = document.documentElement.scrollWidth;
sHeight = document.documentElement.scrollHeight;
sLeft = document.documentElement.scrollLeft == 0 ? document.body.scrollLeft : document.documentElement.scrollLeft;
sTop = document.documentElement.scrollTop == 0 ? document.body.scrollTop : document.documentElement.scrollTop;
}
body是DOM对象里的body子节点,即 标签;
documentElement 是整个节点树的根节点root,即 标签;
没使用DTD情况即怪异模式BackCompat下:
复制代码 代码如下:
document.documentElement.clientHeight=0document.body.clientHeight=618
使用DTD情况即标准模式CSS1Compat下:
复制代码 代码如下:
document.documentElement.clientHeight=618 document.body.clientHeight=28(表示内容的高度)
因此提取浏览器的尺寸是要注意了。可以参考以下代码:
复制代码 代码如下:
if (document.compatMode == "BackCompat") {
cWidth = document.body.clientWidth;
cHeight = document.body.clientHeight;
sWidth = document.body.scrollWidth;
sHeight = document.body.scrollHeight;
sLeft = document.body.scrollLeft;
sTop = document.body.scrollTop;
}
else { //document.compatMode == "CSS1Compat"
cWidth = document.documentElement.clientWidth;
cHeight = document.documentElement.clientHeight;
sWidth = document.documentElement.scrollWidth;
sHeight = document.documentElement.scrollHeight;
sLeft = document.documentElement.scrollLeft == 0 ? document.body.scrollLeft : document.documentElement.scrollLeft;
sTop = document.documentElement.scrollTop == 0 ? document.body.scrollTop : document.documentElement.scrollTop;
}
上一篇: 浅析php数据类型转换_php技巧
下一篇: php可逆加密的方法及原理
推荐阅读
-
用document.documentElement取代document.body的原因分析_javascript技巧
-
javascript中的onkeyup和onkeydown区别介绍_基础知识
-
javascript css在IE和Firefox中区别分析_javascript技巧
-
JavaScript中各种编码解码函数的区别和注意事项_javascript技巧
-
escape、encodeURI 和 encodeURIComponent 的区别_javascript技巧
-
js parentElement和offsetParent之间的区别_javascript技巧
-
JavaScript操作DOM元素的childNodes和children区别_javascript技巧
-
javascript中input中readonly和disabled区别介绍
-
javascript中input中readonly和disabled区别介绍
-
在JavaScript中,defer和async的区别介绍