以下の構成で「accordion_trigger」要素をトリガーに隣接する「togglearea」がスライドトグルで開閉するアコーディオン要素があります。
開いた時「accordion_trigger」には「active」クラスが付与されます。
lang
1$(".accordion_trigger").on("click", function() { 2$(this).next().slideToggle(); 3$(this).toggleClass("active"); 4});
lang
1 2<div id="anchor01" class="accordion_trigger">トグル要素1のトリガー</div> 3<div class="togglearea">トグル要素1で開く内容</div> 4<div id="anchor02" class="accordion_trigger">トグル要素2のトリガー</div> 5<div class="togglearea">トグル要素2で開く内容</div> 6<div id="anchor03" class="accordion_trigger">トグル要素3のトリガー</div> 7<div class="togglearea">トグル要素3で開く内容</div> 8<div id="anchor04" class="accordion_trigger">トグル要素4のトリガー</div> 9<div class="togglearea">トグル要素4で開く内容</div> 10
さらに、以下「humberger」で「drop_menu」が開くハンバーガーメニューで上記「anchor」IDへのページ内リンクナビゲーションが別途存在します。
lang
1<p class="humberger">ハンバーガーメニュー</p> 2<div id="drop_menu"> 3 <div> 4 <ul> 5 <li><a href="#anchor01">トグル要素1</a></li> 6 <li><a href="#anchor02">トグル要素2</a></li> 7 <li><a href="#anchor03">トグル要素3</a></li> 8 <li><a href="#anchor04">トグル要素4</a></li> 9 </ul> 10 </div> 11</div>
「drop_menu」の各リンクをクリックした際、遷移先のトグル要素が閉の時のみ開の処理を行いたいです。
lang
1 2$(function(){ 3 $("#drop_menu div ul li:eq(0) a").click(function(){ 4 $("#drop_menu div ul").slideUp('slow'); 5$(".accordion_trigger:eq(0)").next().slideToggle(); 6$(".accordion_trigger:eq(0)").toggleClass("active"); 7 }); 8}); 9$(function(){ 10 $("#drop_menu div ul li:eq(1) a").click(function(){ 11 $("#drop_menu div ul").slideUp('slow'); 12$(".accordion_trigger:eq(1)").next().slideToggle(); 13$(".accordion_trigger:eq(1)").toggleClass("active"); 14 }); 15}); 16$(function(){ 17 $("#drop_menu div ul li:eq(2) a").click(function(){ 18 $("#drop_menu div ul").slideUp('slow'); 19$(".accordion_trigger:eq(2)").next().slideToggle(); 20$(".accordion_trigger:eq(2)").toggleClass("active"); 21 }); 22}); 23$(function(){ 24 $("#drop_menu div ul li:eq(3) a").click(function(){ 25 $("#drop_menu div ul").slideUp('slow'); 26$(".accordion_trigger:eq(3)").next().slideToggle(); 27$(".accordion_trigger:eq(3)").toggleClass("active"); 28 }); 29}); 30
以上の処理を試したのですが、すでに開の時も動作してしまいうまくいかない状態です。ここからすでに開いているときは処理しないという条件分岐の仕方がわからずご質問させていただきました。
ご教授の程よろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/05 00:11