Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态调整的jQuery UI.position()_Jquery_Jquery Ui_Position - Fatal编程技术网

动态调整的jQuery UI.position()

动态调整的jQuery UI.position(),jquery,jquery-ui,position,Jquery,Jquery Ui,Position,我目前正试图在鼠标悬停时在给定菜单项的右边弹出一个窗口。我使用了jQueryUI的.position()属性来实现这一点,它在静态元素上运行良好。然而,我将弹出窗口绑定到一个可滚动的菜单上,我希望弹出窗口继续显示在菜单项的右侧,即使在我滚动一点之后。不幸的是,当主机元素通过滚动移动时,弹出窗口的位置变得非常不稳定。如何动态使用.position()确保弹出窗口始终位于菜单项的右侧?有没有更好的方法动态地将一个元素的位置绑定到另一个元素?下面是我的代码 <div id="menu" styl

我目前正试图在鼠标悬停时在给定菜单项的右边弹出一个窗口。我使用了jQueryUI的.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>

... ... $(“#菜单项-1”)。悬停(函数(){ $(“#弹出式容器”)。位置({ 我的:“左上”, 在:“左+160顶部”, 共:$(“#菜单项-1”) }); $(“#弹出式容器”).toggle(); });
别客气。我想出来了。position()无法定位隐藏元素。因此,如果我将.toggle()对象放在解决问题的.position()对象之上