• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jQueryのドロップダウンメニューについて)

jQueryドロップダウンメニューの実装方法とは?

このQ&Aのポイント
  • jQueryのドロップダウンメニューを実装する方法を教えてください。
  • ドロップダウンメニューをマウスカーソルをかざした時だけ表示させる方法を教えてください。
  • 現在、ドロップダウンメニューがかざした分だけ勝手にペロンペロンしてしまう問題が発生しています。解決策を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

回答がないみたいなので… 原因としては、ドロップダウンのアニメーションに若干の時間(0.5sec)がかかるので、その間にイベントが沢山発生すると、要素のキューに登録されて、順番に処理されることになります。 そのため、発生とはタイミングがずれてアニメーションが起こるようになってしまうのでしょう。 対策としてはいくつか考えられますが、とりあえず、イベントが発生した時に対象要素がアニメーションしていたら、中止して新しいアニメーションを始めるというのではいかがでしょうか? stop()を用いればよいのですが、そのままだと後の動作に都合が悪くなるので、アニメーションを中止して最後まで行った状態にしてしまうことにして $('#nav li').hover( function () { $('ul', this).stop(1, 1).slideDown(500); }, function () { $('ul', this).stop(1, 1).slideUp(500); } ); とかではどうでしょうか。 実際の動作は、実は少々不自然なのですが、アニメーションの時間が短いのであまり気にならないのではないかと思います。