2016-03-29 2 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

Nevermind。理解した。 .position()は、隠された要素を配置することはできません。したがって、問題を解決する.position()オブジェクトの上に.toggle()オブジェクトを配置するとします。

関連する問題