2012-01-27 16 views
4

使用document.getElementByID('div1').clientHeight div1の高さがどのように変化するかを検出するにはどうすればよいですか?DIVの高さが変更された場合の検出

条件(Div1の高さの変更)が満たされている場合は、操作を行う必要があります。

など。

if(document.getElementByID('div1').clientHeight != //old div1's height) 
{ 
    // do my operation 
} 

誰でも私にそのようなJavaScriptの構文を教えてください。

+3

DIVの高さはどのようなシナリオで変化しますか?あなたはそのコンテンツを操作していますか?はいの場合は、コンテンツを変更するたびに操作を開始するだけです。 –

+0

また、 'window.resize'はDIVの高さを変更することができます –

+0

うん! div1の高さは、新しいデータが追加されるときに動的に変化します。 –

答えて

-1

私はより多くの情報のためにそう

$(elm).resize(function(event) { 
    alert('resized!'); 
    /* ... other code ... */ 
}); 

参照http://api.jquery.com/resize/のようなjQueryのを使用します。

実装とは無関係に、スローラを使用してください。「サイズ変更ハンドラのコードは、ハンドラが呼び出される回数に決して依存してはいけません。実装によっては、サイズ変更の進行中にサイズ変更イベントが継続的に送信される(SafariやChromeなどのInternet ExplorerやWebKitベースのブラウザでの典型的な動作)、またはサイズ変更操作の終了時に一度だけ(Operaなどの他のブラウザでの典型的な動作)。

+1

btw、jqueryはタグ付けされていません。 :) – Dev

+1

DIVのために動作しません... –

+0

@ imeVidasああ、あなたは正しいようです。それでも、クリックやキーアップなどに基づいて、手動で「サイズ変更」イベントを発生させることができます。 –

-1
document.getElementById('div1').onresize = function() {...}; 

機能に必要なコードを入れてください。

これはうまくいくとは100%確信していません。 setIntervalの方が、offsetHeightが変更され、それに応じて動作するかどうかを確認するほうがよいでしょう。

+1

いいえ、それは動作しません。 –

+0

これは動作しませんでした:( –

0

divのstyleプロパティを使用します。多分あなたの古いdiv1の高さは20pxです。

if(document.getElementByID('div1').style.height != 20px;) 
{ 
    // do my operation 
} 
関連する問題