用javascript获取的body宽度在IE和Firefox不一? 原因在于document.getElementById("cctv").offsetWidth可能为IE的专用属性,在FF中获取的body宽度属性不是offsetWidth。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 document.body 的值在不同浏览器中有不同解释(实际上大多数环境是由于对 document.body 解释不同造成的,并不是由于对 offset 解释不同造成的) IE、Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框。NS、FF 认为 offsetHeight 是网页内容实际高度,可以小于 clientHeight。offsetWidth与offsetHeight一样的,只是把高度换成宽度 所以你获取body当然他们的值不一样了 再解释一个scrollHeight给你IE、Opera 认为 scrollHeight 是网页内容实际高度,可以小于 clientHeight。NS、FF 认为 scrollHeight 是网页内容高度,不过最小值是 clientHeight。当然scrollWidth是一样的了简单的来说呢:clientHeight(clientWidth) 就是透过浏览器看内容的这个区域高度(宽度)。NS、FF 认为 offsetHeight(offsetWidth) 和 scrollHeight(scrollWidth) 都是网页内容高度(宽度),只不过当网页内容高度(宽度)小于等于 clientHeight 时,scrollHeight(scrollWidth) 的值是 clientHeight(clientWidth),而 offsetHeight(offsetWidth) 可以小于 clientHeight(clientWidth)。IE、Opera 认为 offsetHeight(offsetWidth) 是可视区域 clientHeight(clientWidth) 滚动条加边框。scrollHeight(clientWidth) 则是网页内容实际高度(宽度)。 offsetWidth ff也是认识的,不过FF下window.innerWith<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN"><style>*{margin:0;padding:0}</style><body id="cctv"><a>adadeadd</a></body><script type="text/javascript" defer="defer"> var c=document.getElementById("cctv").offsetWidth; var d = window.innerWidth;alert(c) ;alert(d); </script> 我想楼主的问题,主要是各个浏览器对滚动条的包含关系不同引起的把,楼下继续.... -_-!!不是浏览器对滚动条的包含关系不同引起,而是body宽度和高度的值在不同浏览器中有不同解释 原因可能发生在DTD(如果你引用了DOCTYPE的话)document.body.offsetWidth会成为document.documentElement.offsetWidth具体定义内容不贴了body节点和documentElement是两个不同的节点,获取body的相关信息时会受到doctype对解释的不同概念。……我这话怎么听着自己都感觉绕口……-_-! 感谢chinmo的解答,受益匪浅阿,正好解决了我的困扰 关于jquery.post方法的问题,懂jquery的进 一个超链接打开两个网址 求一个JS图片查看器 table里怎么动态添加单元格内容(控件)呢 Extjs中ext-all.js拒绝访问 windows 98 下的打印分页 那位老大能帮我解决一个时间输入的问题,万分感激! 100分求点击表头对Table进行排序的程序例子!!! 在javascript中如何用动态的选中一个list中的所有项? 请问如何屏蔽历史按钮,或者能自动尽快删除刚刚访问的IE记录? moo.fx.pack.js 的疑惑 javascript里怎么把JAVA地LIST转化成javascript地数组啊?哪为大大帮下
NS、FF 认为 offsetHeight 是网页内容实际高度,可以小于 clientHeight。
offsetWidth与offsetHeight一样的,只是把高度换成宽度
IE、Opera 认为 scrollHeight 是网页内容实际高度,可以小于 clientHeight。
NS、FF 认为 scrollHeight 是网页内容高度,不过最小值是 clientHeight。
当然scrollWidth是一样的了简单的来说呢:clientHeight(clientWidth) 就是透过浏览器看内容的这个区域高度(宽度)。
NS、FF 认为 offsetHeight(offsetWidth) 和 scrollHeight(scrollWidth) 都是网页内容高度(宽度),只不过当网页内容高度(宽度)小于等于 clientHeight 时,scrollHeight(scrollWidth) 的值是 clientHeight(clientWidth),而 offsetHeight(offsetWidth) 可以小于 clientHeight(clientWidth)。
IE、Opera 认为 offsetHeight(offsetWidth) 是可视区域 clientHeight(clientWidth) 滚动条加边框。scrollHeight(clientWidth) 则是网页内容实际高度(宽度)。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN">
<style>
*{margin:0;padding:0}
</style>
<body id="cctv">
<a>adadeadd</a>
</body><script type="text/javascript" defer="defer">
var c=document.getElementById("cctv").offsetWidth;
var d = window.innerWidth;
alert(c) ;
alert(d);
</script>
我想楼主的问题,主要是各个浏览器对滚动条的包含关系不同引起的把,楼下继续....
-_-!!不是浏览器对滚动条的包含关系不同引起,而是body宽度和高度的值在不同浏览器中有不同解释
document.body.offsetWidth
会成为
document.documentElement.offsetWidth
具体定义内容不贴了
body节点和documentElement是两个不同的节点,获取body的相关信息时会受到doctype对解释的不同概念。……我这话怎么听着自己都感觉绕口……-_-!