特定のDIVのtop
プロパティがいつ変更されたかを判断するために使用できるjQueryイベントがあるかどうかを知りたいです。
たとえば、DIVの上に非表示のコンテンツがあります。そのコンテンツが表示されると、DIVが下にシフトされます。そのイベントをキャプチャしてから、offset()
関数を使用してX/Y座標を取得したいと思います。
簡単な答えは、レイアウトの更新を検出するためのイベントがDOMにないということです。
私の見方にはいくつかの選択肢があります。
ポーリング、厄介ですが、更新頻度の要件によっては機能する場合があります。
非表示のDIVのサイズを変更するイベントを利用して、そのハンドラーで必要なことをすべて実行します
自分で直します。
DOMを調べて、DOMAttrModifiedイベントに気づき、これを見つけました JQuery Plug-In あなたがやりたいことをするために活用できるかもしれません。
記事に記載されているように、IEとFirefoxではうまく機能しますが、WebKitでは問題があるようです。
私はあなたができるはずだと思います:
$(document).ready( function (){
$("#mydiv").bind("movestart", function (){ ...remember start position... });
$("#mydiv").bind("moveend", function (){ ...calculate offsets etc... });
});