常に画面に表示しておく必要がある JQuery メニューがあります。したがって、子メニューがウィンドウの下部に重なる場合は、「上」に移動する必要があります。
例えば
小さいメニュー (例: 5 項目以下) では問題なく動作するようですが、奇妙に大きなメニューではシフトアップしないようです。
jsfiddle の例- メニュー項目 C>1E と C>1F を比較します (ウィンドウのサイズを変更して、実際に下部に重なるようにする必要がある場合があります)
すなわち
HTML:
<div id="container" style="width: 250px;">
<ul id="filter-menu-button-menu">
<li><a href="#"><span class="ui-icon ui-icon-disk"></span>A</a></li>
<li><a href="#"><span class="ui-icon ui-icon-disk"></span>B</a></li>
<li><a href="#"><span class="ui-icon ui-icon-folder-open"></span>C</a>
<ul>
<li><a href="#">1A</a></li>
<li><a href="#">1B</a></li>
<li><a href="#">1C</a></li>
<li><a href="#">1D</a></li>
<li><a href="#">1E</a>
<ul>
<li><span class="ui-icon ui-icon-trash"></span><a href="#">1</a></li>
<li><span class="ui-icon ui-icon-trash"></span><a href="#">2</a></li>
<li><span class="ui-icon ui-icon-trash"></span><a href="#">3</a></li>
<li><span class="ui-icon ui-icon-trash"></span><a href="#">4</a></li>
<li><span class="ui-icon ui-icon-trash"></span><a href="#">5</a></li>
<li><span class="ui-icon ui-icon-trash"></span><a href="#">6</a></li>
</ul>
</li>
<li><a href="#">1F</a>
<ul>
<li><span class="ui-icon ui-icon-trash"></span><a href="#">1</a></li>
<li><span class="ui-icon ui-icon-trash"></span><a href="#">2</a></li>
<li><span class="ui-icon ui-icon-trash"></span><a href="#">3</a></li>
<li><span class="ui-icon ui-icon-trash"></span><a href="#">4</a></li>
<li><span class="ui-icon ui-icon-trash"></span><a href="#">5</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
CSS:
$('#filter-menu-button-menu').menu({
"position": { my: "right top", at: "left top" }
});
なぜこれが起こっているのか誰にも示唆できますか?JQuery UI のバグですか? 誰でも回避策を提案できますか?