2

任何人都知道为什么以下代码无法工作?我需要一个固定宽度 div 的动态高度,该高度可能会下降到视口下方。

 <script type="text/javascript">
function findheight(){  
  var div = document.getElementById('bg');
  var height = document.scrollHeight;
  div.style.height = height + 'px';
}

  </script>     
</head>

<body onload="findheight()">
    <div id="bg"> 

如果没有,还有其他方法吗?任何帮助表示赞赏。谢谢

4

3 回答 3

2

您可以使用 javascript 来实现这一点,您必须使用“offsetHeight”方法。

function getHeight() {
    var height = document.getElementById('test').offsetHeight;
    alert(height);
}

这是一个示例小提琴
您可以在此处找到详细信息

于 2012-10-27T10:07:59.967 回答
0

这不起作用的原因是因为 div.style.height 是空的,因此执行 parseFloat 返回 NaN

document.getElementById('bg').offsetHeight那么这应该工作。

尝试

function bodyHeight() {
var scnHei;

if (self.innerHeight) // all except Explorer
{
    scnHei = self.innerHeight;
}
else if (document.documentElement && document.documentElement.clientHeight)
    // Explorer 6 Strict Mode
{
    scnHei = document.documentElement.clientHeight;
}
else if (document.body) // other Explorers
{
    scnHei = document.body.clientHeight;
}

document.getElementById("bgr_right").style.height=scnHei + "px";
document.getElementById("bgr_left").style.height=scnHei + "px";
}

在你的身体里 onload=bodyHeight();

于 2012-10-27T10:07:02.340 回答
0

这是我对这类问题的解决方案。希望这对你也有用..

当我最小化浏览器时如何缩放 div 以使 div 不会相互折叠

使用$(document).height()jquery 获取文档高度

于 2012-10-27T10:07:26.923 回答