您好,欢迎访问一九零五行业门户网

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

ie6在页面内容超出窗口大小时将宽度属性scrollwidth、clientwidth、offsetwidth都解释为内容实际宽度。
上次的测试说明了document.body属性并不会给我们返回预期的结果,比如我们用document.body.clientheight原本想取得“页面可见区域高度”,可实际上返回的是“页面实际内容高度”。
那我们怎么办呢?难道加上了文档dtd类型之后就再也不能取到“可见区域高度”和“内容实际宽度”等等属性了吗?
复制代码 代码如下:
documentelement
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方法获取各种页面高宽属性了吧^_^!
其它类似信息

推荐信息