考虑 div-A 与 div-B 具有相对位置的情况(实际上,div -A以不同的Z-Index悬停在div-B上)。当div-B的位置发生变化时,将div-C插入到它之前,将div-A隐藏起来。
问题是:如何检测div-B的位置变化?
考虑 div-A 与 div-B 具有相对位置的情况(实际上,div -A以不同的Z-Index悬停在div-B上)。当div-B的位置发生变化时,将div-C插入到它之前,将div-A隐藏起来。
问题是:如何检测div-B的位置变化?
这一切都取决于可能导致 div 移动,如果它是一个窗口调整大小window.onresize = function(){}
或在 jQuery 中$(window).resize(function(){});
,如果它是由用户交互(如点击和你有什么)引起的:document.body.addEventListener('click',function(){},false);
,其中处理程序最好是排序的闭包,它保持初始位置有问题的div。
如果它是由于 ajax 调用插入的新内容引起的:让onreadystatechange
处理程序对其进行排序。同样,最好使用闭包将位置与初始值进行比较
可能有更简单的 CSS3 方式,我不是设计师 - 所以我真的不知道。另外:设置您迄今为止尝试过的内容以及页面的外观。并且对这个问题更准确一点。你的问题非常模糊。阅读常见问题解答
您可以在 jquery 中使用 $.position 方法:
$('#element_id').position().left;
$('#element_id').position().top;
只需将它们存储在一个变量中,然后使用该setInterval()
方法主动监控它是否发生变化