10

document.body.clientHeight 没有返回正确的值(在下面的代码中返回 0 onload 和 20 onresize )

<html>
<head>
<title>Untitled</title>
<script type="text/javascript" >
function height1()
{
    document.getElementById("viewheight").innerHTML = document.body.clientHeight;
}
</script>
</head>

<body onload="height1();" onresize="height1();">
<span id="viewheight"></span>
</body>
</html>

任何评论.....请帮助!

4

2 回答 2

18

试试看document.getElementById("viewheight").innerHTML = window.innerHeight;

您的脚本的行为是完全正确的。一开始,您的身体高度实际上为零(身体高度是文档的高度)。因为没有显示任何内容,所以高度结果为零。调整大小后打印的“0”跨越 20 像素,因此结果将保持在 20 像素。

如果您想获得可以使用的窗口或主体的最大高度Math.max( window.innerHeight, document.body.clientHeight )

于 2012-12-22T09:07:54.760 回答
-1

.clientHeight只给我们一个整数值。但是这里缺少 scale-type 的大小,这就是为什么它不能正常工作,+ "px"只是在document.body.clientHeight.

<script>
    function height1() {
        document.getElementById("viewheight").innerHTML = document.body.clientHeight + "px";
    }
</script>
于 2014-01-17T13:21:07.347 回答