2

我正在尝试制作一个脚本来计算 div 'id' 的高度并返回与 margin-top 相同的值。但这并没有。怎么了?

<script language="text/javascript">
var height = document.getElementById('id').innerHeight;
document.getElementById('id').style.marginTop = height + 'px';
</script>

提前致谢!

4

3 回答 3

2

请记住,您应该只在触发事件后操作 DOM onload,或者在触发事件时操作现代浏览器DOMContentLoaded。无论如何,onload这对你的情况来说很好。

尝试:

<script language="text/javascript">
window.onload = function() {
    var height = document.getElementById('id').innerHeight;
    document.getElementById('id').style.marginTop = height + 'px';
}
</script>
于 2012-09-06T13:31:07.417 回答
2

尝试;

<script type="text/javascript">
window.onload = function() {
var height = document.getElementById('mydiv').offsetHeight;
document.getElementById("mydiv").style.marginTop = height+'px';
}
</script>

是一个现场演示。

于 2012-09-06T13:33:08.510 回答
0

你的 js 中的第一个错误是 language="text/javascript" 它必须是type="text/javascript". 并尝试使用offsetHeight代替innerHeight

  <script type="text/javascript"  >

        var height = document.getElementById('id').offsetHeight;
        document.getElementById('id').style.marginTop = height + 'px';
        }
  </script>

并将其称为onload事件。

谢谢 ,

于 2012-09-06T13:43:37.760 回答