我目前正试图让鼠标悬停在给定菜单项的右侧。我已经使用了jQuery UI的.position()属性来实现这一点,它在静态元素上运行得很好。但是,我将弹出窗口绑定到可滚动的菜单上,即使我滚动了一下,我也希望弹出窗口能够立即显示在菜单项的右边。不幸的是,当通过滚动移动主机元素时,弹出窗口的位置变得很糟糕。如何动态使用.position()以确保弹出窗口始终位于菜单项的右侧?有没有更好的方法将元素的位置动态地绑定到另一个元素?以下是我的代码。
<div id="menu" style="overflow-y: scroll; ...">
<p id="menu-item-1"></p>
...
</div>
<div id="popup-container" style="display: none; ...">...</div>
<script>
$("#menu-item-1").hover(function(){
$("#popup-container").position({
my: "left top",
at: "left+160 top",
of: $("#menu-item-1")
});
$("#popup-container").toggle();
});
</script>
答案 0 :(得分:0)
没关系。弄清楚了。 .position()无法定位隐藏元素。因此,如果我将.toggle()对象置于解决问题的.position()对象之上。