マウスを動かさずにドキュメントをロードすると、マウスを動かすまでマウスオーバー アクションは切り替わりません。しかし、マウスが動くとマウスオーバーがトグルされると思います.onLoadですでに「オーバー」している場合はイベントです。
このコードはどうですか?とにかく、あなたのバグはマウスアウトがトグルされていないことが原因だと思います.JSはxミリ秒ごとにしかチェックせず、動きが速すぎると、イベントを呼び出さずにdivから抜け出します。
$('#menu ul li').mouseenter(function(){
// hide all other divs
$(".dropdown").hide(0);
// show the div we want
$(this).children(".dropdown").show(0);
}).mouseleave(function(){
$(".dropdown").hide(0);
});
アニメーションを気にしない場合は、JS よりも CSS を使用する方が常に優れています。
次のように設定する必要があります。
<div id="menu">
<ul>
<li>
Menu 1
<div class="dropdown">Sub1</div>
<div class="dropdown">Sub2</div>
</li>
<li>
Menu 2
<div class="dropdown">Sub1</div>
<div class="dropdown">Sub2</div>
</li>
</ul>
</div>
CSS:
.dropdown { display: none; position: relative; }
#menu li:hover .dropdown { display: block; }