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 に答える