jquery相对于可移动元素的位置
我正在使用jquery定位(my,at,of)来显示div,作为某种按钮的下拉列表。下面的代码:当下拉DIV是可见jquery相对于可移动元素的位置
if ($('#myDiv').is(':hidden')) {
$('#myDiv').show().position({
my: "left top",
at: "left bottom",
of: $("#myButton"),
"offset" : "0 -2px"
});
} else {
$('#myDiv').hide();
}
按钮可以移动(例如其他内容得到动态添加/移除,围绕按压按钮)。问题是,当发生这种情况时,只有按钮移动并且div保持放置,所以div不再相对于按钮正确定位。
下面是一个例子小提琴:http://jsfiddle.net/2BUZU/
有有DIV始终遵循按钮不错方式?
我似乎无法找到这个问题的答案,但我确信我不是唯一遇到这个问题的人。
谢谢!
我通过添加容器div
和animate函数来实现此目的。不知道这是什么样的解决方案,你是...后
希望它能帮助!
第二个建议
找到myButton
元素的position()
和适当地移动myDiv
。
我有一种感觉,你可以实现你需要实现使用位置和动画功能是什么。
再次,我希望这可以让你更接近你的解决方案。
谢谢neo108。它并不适用于我;我需要一些可以基于任何原因移动的按钮来工作的东西,例如页面上其他地方的某些内容被添加/删除。但它仍然是一个有用的例子! – 2012-04-02 04:53:03
我有一种感觉,你可以实现你需要的位置和动画功能。请看我上面的第二个建议 - 编辑了答案来添加它。 – neo108 2012-04-02 05:38:37
感谢您的第二个演示,neo108。但似乎div的重新定位仍然是通过增加更多内容的点击触发的(尽管简洁的代码!)。 – 2012-04-02 21:08:35
虽然我想让下拉div总是自动按下它的按钮,但对我而言似乎并不是一种简单的方法。我知道什么会导致按钮移动90%的时间,所以当我触发这个时,我正在重新定位div。所以现在工作得很好。感谢提示人们。
你可以发布演示吗? – Joseph 2012-04-01 23:31:29
div的定位应该是相对的 – Chibuzo 2012-04-01 23:33:50
发布示例演示。另外,Chibuzo,我尝试将位置改变为相对位置,但我需要将下拉div显示在其他内容之上,所以我认为这不会起作用 - 除非我误解了你的意思? – 2012-04-01 23:54:32