栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

用document.documentElement取代document.body的原因分析

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用document.documentElement取代document.body的原因分析

IE6在页面内容超出窗口大小时将宽度属性scrollWidth、clientWidth、offsetWidth都解释为内容实际宽度。
上次的测试说明了document.body属性并不会给我们返回预期的结果,比如我们用document.body.clientHeight原本想取得“页面可见区域高度”,可实际上返回的是“页面实际内容高度”。
那我们怎么办呢?难道加上了文档DTD类型之后就再也不能取到“可见区域高度”和“内容实际宽度”等等属性了吗?
复制代码 代码如下:



documentElement

body{margin:0;padding:0;font:12px/150% arial;}


















































































scrollTop(滚动条卷过的高):
scrollLeft(滚动条卷过的宽):
scrollHeight(内容实际高度):
scrollWidth(内容实际宽度):
clientWidth(可见区域宽):
clientHeight(可见区域高):
offsetWidth(加滚动条宽?):
offsetHeight(加滚动条高?):
screenTop:
screenBottom:
screenLeft:
sheight(分辨率高):
swidth(分分辨率宽):
availHeight:
availWidth:

内容高度是400PX,点击查看所有属性值





其实,我们可以用document.documentElement代替document.body来获取我们想要的结果 将代码中的document.body替换为document.documentElement,再来看看各浏览器下的实际结果:
ii测试结果表明,IE系列浏览器对document.documentElement属性的解释是正确的,其它标准浏览器将offsetHeight解释成 了scrollHeight。火狐和netscape更是把这两个属性调换了过来。不过总的来说各属性都可以有个相应的解释,不会像 document.body一样只有可怜的两种解释。

终于可以放心地使用JS方法获取各种页面高宽属性了吧^_^!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/117331.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号