用于检测元素位置何时更改的jQuery事件

我想知道是否有一个jQuery事件,我可以用它来确定特定DIV的top属性何时发生了变化。

例如,我在DIV之上有隐形内容。 当该内容变得可见时,DIV向下移动。 我想捕获该事件,然后使用offset()函数来获取X / Y坐标。

简单的答案是DOM中没有用于检测布局更新的事件。

你看到它有两种选择:

  1. 民意调查,但它可能会有效,具体取决于您的更新频率要求。

  2. 点击任何导致隐形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... }); }); 
 $("#someId").resize(function () { // your code });