
宜しくお願いします。
下記に参考にしたURLを記します。
http://html-five.jp/364/
http://html-five.jp/demo/010/
2つ目にある参考サイトの中で教えて頂きたいのですが、現状はLIST1とLIST2を開いた状態でLIST1-2をクリックするとページの状態が変わらない状態になります。実現したいことはLIST1-2をクリックするとそれ以外のLISTを閉じたいのです。今回の例ではLIST2を閉じてLIST1-2が所属しているLIST1は開いたままにしたいのです。宜しくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは。
2段目のリストはリンクに設定されているようですので、スクリプトで他を閉じても、リンクの結果ページ遷移してしまいますが・・・?
それとも、リンク先のページにも同じアコーディオンメニューを設置していて、そちらに結果を反映したいということなのかな。
ひとつの解決法としては、開/閉が排他的に行われる(開いているのは一つだけ)ようにするというのが考えられます。
動作自体は現状のままでよくて、リンクをクリックした時だけ他を閉じたいというのであれば、そのような処理だけを付け加えるという考えもあります。
ご質問は、多分、後者であると思いますので・・・
言葉の通り、他のリストを閉じるというイベントを付け加えれば良いのですが、もとのスクリプトが「閉じる」という動作を明示しておらずみなtoggleで処理をしていますので、「開いているものをクリックする」という処理にするほうが簡単かな。
開いているものには"open"のクラスを付与するようになっているらしいので、それが利用できそうなのですが、何だかおかしいですね。
クッキーから読み込んで開いた時にはクラス設定をしておらず、その後はtoggleで処理してしまっているので、クラス設定がすっと逆転したままになってしまうものができてしまうようで、残念ながら利用できそうもないですね。
というわけで、開閉状態も自前で判断することにして、以下を追加すれば、一応ご質問のような動作になると思います。
(インデントは全角スペースにしてあります)
$(".accordion ul a").click(function(){
var lis = $(".accordion>li");
var idx = lis.index($(this).parent().parents("li:first"));
lis.each(function(i){
if(i != idx && $(this).children("ul:visible").length) $(this).children("p").click();
});
});
付けたしなので必ずしも効率的ではありませんし、クラス設定のこともあるので、全体を整理し直した方が適切なコードになると思います。
fujillin様
ご回答頂きましてどうもありがとうございます。
また、こちらの質問が誤解を招く表現がありましたが、正しく意図を解釈して頂きまして感謝致します。
ご教示頂いた方法で無事に解決致しました。
しっかりと学習致します。
また、機会がございましたらどうぞ宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のクラスで共通した関数を...
-
そんなにお金がなくても年に1度...
-
BSアンテナのサイズ(札幌)に...
-
僕の出身中学校は200人同級生が...
-
学校でスマホを使った授業があ...
-
VBソースからクラス仕様書作成
-
同じパッケージ、クラス名が含...
-
「天声人語」をインターネット...
-
コミュニケーション能力を高め...
-
A・B・Cクラスとは?
-
3年間同じクラスになる確率
-
UMLのクラス図はmain()も含むん...
-
ページ遷移時にアコーディオン...
-
La casa de espana
-
ネスカフェ エクセラ と UCCク...
-
成人式の後中3のクラスで集まろ...
-
エクセルVBAで、条件に一致する...
-
「タイプ初期化子が例外をスロ...
-
c++,ある関数のクラスから別の...
-
Fileの読み取り専用の解除
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
僕の出身中学校は200人同級生が...
-
今日は こどもの日 で、良い天...
-
どこからも呼ばれていない無意...
-
そんなにお金がなくても年に1度...
-
中学生です。 私は教室の黒板に...
-
恋愛
-
EclipseでJSPのコンパイルエラー
-
java eclipse 型に解決できません
-
共通で使う関数を集めたクラス...
-
main()を持つクラスが2つ以上...
-
同一パッケージにあるクラスが...
-
配列の重複する値とその個数を...
-
「隣の芝生は青く見える」現象...
-
重複エラーを解決するには
-
UMLのクラス図はmain()も含むん...
-
複数のクラスで共通した関数を...
-
VBAもしくはVB6:クラスの中で...
-
命名規約は連番でいいのか?
-
eclipse でクラスに色
-
3年間同じクラスになる確率
おすすめ情報