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

时间:2008-12-10 03:32:52

标签: javascript jquery events javascript-events

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

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

3 个答案:

答案 0 :(得分:8)

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

我有两种选择:

  1. 投票,讨厌,但可能会有效,具体取决于您的更新频率要求。

  2. 点击任何导致隐形DIV改变大小的事件,并在该处理程序中执行您需要做的任何事情


  3. 我会纠正自己。

    我看了一下DOM并发现了DOMAttrModified事件并找到了这个JQuery Plug-In,你可以利用它来做你想做的事。

    正如文章所提到的,它在IE和Firefox中运行良好但似乎在WebKit中存在问题。

答案 1 :(得分:1)

我认为你应该能够做到:

$(document).ready( function (){
  $("#mydiv").bind("movestart", function (){ ...remember start position... });
  $("#mydiv").bind("moveend", function (){ ...calculate offsets etc... });
});

答案 2 :(得分:-1)

$("#someId").resize(function () {

// your code

});