javascript中的 document.body.clientHeight 和 document.docume


最后更新:2018-10-10 / 围观:1 次 / 来源:zhixing123.cn / 作者:佚名

这个问题是我在整合新的美工页面的时候发现的,在整合页面的时候菜单页面始终显示不出来。但是查看源代码,里面又已经打印出来了所有的菜单。唯一的解释就是js的问题了。用火狐firebug测试,发现其中一个取得页面高度的变量 bodyHeight 一直是0。就是因为他是0,所以菜单才显示不出来。 而取得bodyHeight 高度的语句是 var bodyHeight = document.documentElement.clientHeight; 于是在网上查找相关的资料,结合美工页面和程序的页面对比。 document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.documentElement.clientWidth ==> 可见区域宽度 document.documentElement.clientHeight ==> 可见区域高度 页面里面少了一句 <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> 在ie下做了一下测试,下面是测试代码 <html xmlns=”http://www.w3.org/1999/xhtml”> <head> <title> New Document </title> <script language=”JavaScript”> <!– function a(){ document.getElementById(“bodyheight”).innerText = document.body.clientHeight; document.getElementById(“documentheight”).innerText = document.documentElement.clientHeight; } //–> </script> </head> <body> <p> <a href=”javascript:a()”>click here</a> <br/> document.body.clientHeight = <span id=”bodyheight”></span> px <br/> document.documentElement.clientHeight = <span id=”documentheight”></span> px </p> </body> </html> 当页面上有DOCTYPE的时候,值为 document.body.clientHeight = 54px document.documentElement.clientHeight = 729px 当没有DOCTYPE时 document.body.clientHeight = 729px document.documentElement.clientHeight = 0px 可以看出,document.body.clientHeight 和 document.documentElement.clientHeight 的区别。 就是因为少了DOCTYPE 所以 document.documentElement.clientHeight 的值为0。而换成 document.body.clientHeight就好了。 为什么少了DOCTYPE,document.documentElement.clientHeight会为0呢? 这是因为W3C标准的支持。  


【日大侠】所载文章部分来自网络,如果您有异议或者版权等方面的问题,请将详细信息(标题、链接等)通过底部【联系我们】发给【日大侠】,【日大侠】会在收到邮件后7个工作日内进行处理,感谢您对【日大侠】的关注与支持!

最新图文


访问和使用 日大侠,即表明您已仔细阅读并且完全接受和遵守 日大侠 的版权声明。
ICP备18039168号 | 基于 Destoon 构架
日大侠QQ交流群:日大侠QQ交流群
© 2018 日大侠