• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プログラム無知の者です。)

jQueryのアコーディオンメニューで開いたメニューをマウスを外しても開いたままにする方法

このQ&Aのポイント
  • プログラム無知の者です。jQueryのアコーディオンメニューで開いたメニューをマウスを外しても開いたままにしたいのですが、どこをいじればいいかわかりません。
  • 初歩的な質問で申し訳ないですが、どうぞよろしくご指導お願いします。
  • プログラム無知の者がjQueryのアコーディオンメニューで開いたメニューをマウスを外しても開いたままにする方法がわかりません。ご指導お願いします。

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

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

No2です。 >閉じるときはクリックでできたら…と考えていたのですが… HTMLソースがNo2で質問した構成だと仮定して・・・ クリックしたらトグル(開いていたら閉じる、閉じていたら開く)となるようにすれば、ご希望の動作になるとは思います。 (個人的な感想では、必ずしも使い勝手がよいとは思えません。) もとのスクリプトに不審な点が多いので、最小限の範囲で修正させていただきました。 (孫要素以下があった場合、クリックしていなければ(自動的には)閉じません。=次に開いた時に、元の状態を保持している。) var j$ = jQuery; j$(function(){ j$(".acc").each(function(){ j$("li > a").each(function(index){ if(index > 0) j$(this).next("ul").hide(); j$(this).mouseover(function(){ j$(this).next("ul").show('normal'); }); j$(this).click(function(){ j$(this).next("ul").toggle("normal"); return false; }); }); }); });

puck8610
質問者

お礼

ご親切に教えていただきありがとうございました。 急にすぐ取り組めない状況になってしまいましたので、後日実践してみます。 これを機に学んでいこうとおもいます。 本当にありがとうございました。

その他の回答 (2)

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

HTMLもCSSもないのでさっぱりわからないのですが、もしかしてこれ(↓)??  http://triplexxx.jp/archives/150 >マウスを外しても開いたままにしたいのですが、 閉じる命令のところをはずしてしまえばできますけれど、そうすると閉じなくなっちゃうけどいいのかな?  $this.mouseover~~ のところを $this.mouseover(function(){ j$(this).next().show('normal'); //parent().siblings().children("ul:visible").hide('normal'); return false; });

puck8610
質問者

補足

その通りでございます。 質問の仕方も下手ですみません…。htmlとcssも必要なのですね。 <閉じる命令のところをはずしてしまえばできますけれど、そうすると閉じなくなっちゃうけどいいのかな? 閉じるときはクリックでできたら…と考えていたのですが…

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

そもそも、自動的に開いたり閉じたりさせたいがためにあるのが アコーディオンのロジック、開きっぱなしでよいなら、 アコーディオンのロジックを使わなくてよい。

puck8610
質問者

お礼

そうなんですね、かしこまりました。 ありがとうございました。

関連するQ&A