2016-03-29 26 views
0

我目前正試圖讓一個彈出窗口出現在鼠標懸停在給定菜單項的右側。我已經使用jQuery UI的.position()屬性來做到這一點,它在靜態元素上工作得很好。但是,我將彈出窗口綁定到可滾動菜單,我希望彈出窗口繼續顯示在菜單項的即時右側,即使我滾動了一下。不幸的是,當通過滾動移動主機元素時,彈出窗口的位置變得不可思議。我如何動態使用.position()來確保彈出窗口始終位於菜單項的右側?是否有更好的方法將元素的位置動態綁定到另一個位置?以下是我的代碼。jQuery UI .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

沒關係。弄清楚了。 .position()不能定位隱藏的元素。因此,如果將.toggle()對象放在解決問題的.position()對象上方。