0

これが正しく行われているかどうかはわかりませんが、jQueryで簡単なドロップダウンメニューを作成しようとしています。基本的に、メニュー項目にカーソルを合わせると、div(リンク付き)が表示されるようにします。

メニュー:

<ul id="mainlevel">
  <li><a href="#" class="mainlevel_home" ><span>Home</span></a></li>
  <li><a href="#" class="mainlevel_feature-writers" ><span>Feature Writers</span></a></li>
  <li><a href="#" class="mainlevel_fantasy-killed-my-hsc" ><span>Fantasy Killed My HSC</span></a></li>
</ul>

隠された部門:

<div class="subMenu"><a href="/feature-writers/jd-ormsby" class="sublevel jd-ormsby"><span>J.D. Ormsby</span></a></div>

jQuery:

$(".mainlevel_feature-writers").hover(function(){ 
  $(".subMenu").fadeIn("slow"); 
}, function() { 
  $(".subMenu").fadeOut("slow"); 
});

さて、これは隠されたdivでフェードインし、うまくフェードアウトしますが、誰かが新しく表示されたdiv内でホバリングした場合に、フェードアウトしないようにするにはどうすればよいですか?

これが本当に明白な質問であるならば申し訳ありません..私はまだ学んでいます!:)

4

1 に答える 1

1

mouseovermouseoutイベントの処理を分離する必要があると思います。

おそらく、mouseoverハンドラーを「トップレベル」メニュー要素にmouseoutアタッチし、ハンドラーを非表示の「ドロップダウン」divにアタッチする必要があります(競合を管理するための状態コードを使用)。

于 2009-07-18T14:13:58.887 に答える