2011-08-05 22 views
0
$("#toggle").click(function() { 
    $("p").toggle(function() { 
     // $('body')[0].scrollHeight <-- this is it, but not in my case 
    }); 
}); 
<a id="toggle">Toggle</a> 

<p>content</p> 
<p>...</p> 
...a hundred more <p>'s that enough to make the scrollbar appear... 
<p>...</p> 

私は、ページコンテンツが動的に変更されたときにscrollHeightを取得しようとしています。

私がコメント行にこのメソッドを使用したくない理由は、この動的scrollHeightに応じて他のイベントが発生し、すべてのクリックで同じことを本当に書きたくないからです。

私は道によって

$('window').scrollHeightChanged(function() { 
    // do this 
    // do that 
}); 

なく

setInterval(function() { 
    // check scrollHeight 
}, 10); 

のようなものを探しています、I'vは$( '#ラッパー')を試してみました。()のサイズを変更する、それだけで動作しますIE

UPDATE

に私は自分自身に解決策を見つけた:jQueryのは、サイズ変更をしたイベントプラグインを、サイズを変更()すべてのELEに取り組みますments。それは私が探していたものではありませんが、少なくとも要素サイズの変化を検出します。 http://benalman.com/projects/jquery-resize-plugin/

答えて

0

ページ上のコンテンツを表示/非表示にしたり、ページ上の動的コンテンツを任意のコンテナに追加したりすると、基本的にスクロール高さを見つけることができます。ページ上で内容が変わったと言うイベントはありません。

また、アニメーションを使用している場合にのみアニメーションが完了したときにスクロールハイトを見つける必要があります。

関連する問題