测试代码就是这一段,就是红色的那个js
<!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">
<head>
<style type="text/css">
body, html { margin:0px; padding:0px; }
#rightMain { background-color:#CCCCCC; }
</style>
</head>
<body>
<div id="rightMain">
<p><a href="resize.htm">resize</a></p>
<script type="text/jscript">
document.write("offsetTop = " + document.body.offsetTop);
document.write("\noffsetHeight = " + document.body.offsetHeight);
document.write("\nscrollTop = " + document.body.scrollTop);
document.write("\nclientHeight = " + document.body.clientHeight);
document.write("\navailHeight = " + window.screen.availHeight);
document.write("\ndocumentElement = " + document.documentElement.clientHeight);
</script>
</div>
<script type="text/jscript">
function setHeight()
{
var oHeight, cHeight;
oHeight = document.body.offsetHeight;
cHeight = document.documentElement.clientHeight;
if(oHeight > cHeight)
{
rightMain.style.height = oHeight;
}
else
{
rightMain.style.height = cHeight;
}
}
window.onload = function(){setHeight();}
window.onresize = function(){setHeight();}
//window.onscroll = function(){setHeight();}
</script>
</body>
</html>
给出我查到的一些内容:《JS 获取屏幕、浏览器、网页高度,宽度信息》
在HTML里,是document.body,在XHTML里是document.documentElement,都指的是<body>节点(OR元素),他们可以这样兼容:
function getBodyObj()
{
return (document.documentElement) ? document.documentElement : document.body;
}
而且,document.body 对象必须在 body 内容加载完才有值,而 document.documentElement 对象则在访问时就存在了
下面是一些属性:
网页可见区域宽:document.body.clientWidth
网页可见区域高:document.body.clientHeight
网页可见区域宽:document.body.offsetWidth (包括边线的宽)
网页可见区域高:document.body.offsetHeight (包括边线的宽)
网页正文全文宽:document.body.scrollWidth
网页正文全文高:document.body.scrollHeight
网页被卷去的高:document.body.scrollTop
网页被卷去的左:document.body.scrollLeft
网页正文部分上:window.screenTop
网页正文部分左:window.screenLeft
屏幕分辨率的高:window.screen.height
屏幕分辨率的宽:window.screen.width
屏幕可用工作区高度:window.screen.availHeight
屏幕可用工作区宽度:window.screen.availWidth
HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置
event.clientX 相对文档的水平座标
event.clientY 相对文档的垂直座标
event.offsetX 相对容器的水平坐标
event.offsetY 相对容器的垂直坐标
document.documentElement.scrollTop 垂直方向滚动的值
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量
IE,FireFox 差异如下:
IE6.0、FF1.06+:
clientWidth = width + padding
clientHeight = height + padding
offsetWidth = width + padding + border
offsetHeight = height + padding + border
IE5.0/5.5:
clientWidth = width - border
clientHeight = height - border
offsetWidth = width
offsetHeight = height