0

document.body.scrollHeightのアラートを5秒間隔で呼び出すと、アラートはドキュメントの最初のscrollHeightを返しますが、ページのスクロールの高さが明らかに変更されても変更されません。初期値だけでなく、ページの実際のスクロール高さを返すようにする方法はありますか?

コード/擬似コード

<script>
    setInterval(function() {
        alert(document.body.scrollHeight);
    }, 5000);

    function extendHeight() {
    document.getElementById('box').style.height = 1000;
    }
</script>

<body>
  <div id='box' style='height: 500px;'>
    <button onClick="extendHeight();">Change Height</button>
  </div>
</body>

ボタンをクリックした後でも、アラートは500pxを返します。

4

1 に答える 1

1

問題は、次のように割り当てるべきでは'1000px'ないdocument.getElementById('box').style.heightということ1000です。

<script>
    setInterval(function() {
        alert(document.body.scrollHeight);
    }, 5000);

    function extendHeight() {
    document.getElementById('box').style.height = "1000px";
    }
</script>

<body>
  <div id='box' style='height: 500px;'>
    <button onClick="extendHeight();">Change Height</button>
  </div>
</body>

フィドル: http: //jsfiddle.net/kzLEr/

于 2012-05-24T15:29:00.583 に答える