li アイテムとサブメニュー自体の両方がホバーされていない場合にのみ、サブメニュー div が消えるようにする必要があります。
最初の子ホバーを使用する必要があり、サブメニュー div は子要素ではないため、ここでは CSS ソリューションは機能しません。
フォーラムを検索しましたが、サブメニューが li アイテムの子ではない場合、これに対する解決策が見つかりません。
HTML:
<ul id="top-menu">
<li>item 1</li>
<li>item 2</li>
<li>item3</li>
</ul>
<!-- somewhere else in DOM (not directly after or child of menu) -->
<div id="#menu1_expansion">
sub menu1 content
</div>
jQuery:
$(document).ready(function () {
$('#top-menu li:nth-child(1)').hover(
function()
{
$('#menu1_expansion').stop();
if ($('#menu1_expansion:hidden'))
{
$('#menu1_expansion').show();
}
}
);
$('#menu1_expansion').mouseleave( function(){ $('#menu1_expansion').hide(); });
});
CSS:
#menu1_expansion {display:none; position:absolute;}
現在、これによりサブメニューがliアイテムホバーに表示され、サブメニューはmouseleave時に消えますが、それとliアイテムの両方がmouseleaveの場合にサブメニューを非表示にする必要があります-誰かがそれを行う方法をアドバイスできますか? ありがとう。