如何检测元素的位置发生了变化?

时间:2012-08-10 14:21:50

标签: javascript

考虑 div-A div-B 的相对位置的情况(实际上, div-A 悬停在 > div-B 由不同的 Z-Index )。当 div-B 的位置发生变化时, div-C 将被插入其中, div -A 将被隐藏。

问题是:如何检测 div-B 的位置变化?

2 个答案:

答案 0 :(得分:0)

如果它是一个调整window.onresize = function(){}或jQuery $(window).resize(function(){});的窗口,那么所有依赖都会导致div移动,如果它是由用户交互引起的(比如点击和你有什么) :document.body.addEventListener('click',function(){},false);,其中处理程序最好是各种类型的闭包,它保存有问题的div的初始位置。
如果它是由于ajax调用而插入的新内容引起的:让{{1处理程序将其排序。同样,最好使用闭包来比较位置与初始值

可能有一种更简单的CSS3方式,我不是设计师 - 所以我真的不知道。另外:设置一个你到目前为止尝试过的小提琴,你的页面看起来像什么。并且对这个问题更准确一点。你的问题非常模糊。阅读FAQ's

答案 1 :(得分:-1)

您可以在jquery中使用$ .position方法:

  $('#element_id').position().left;
  $('#element_id').position().top;

只需将它们存储在变量中,然后使用setInterval()方法

主动监视它是否发生变化