実現したいこと
タブAをクリック
↓
タブBを表示
↓
タブBをクリック
↓
表を表示
前提
以下の1段のタブの実装を参考に、2段のタブの実装を試みましたが、
最後の表の表示がうまくいかずに困っています。
参考のソースコード
HTML
1<!--タブ--> 2<ul class="tab-group"> 3 <li class="tab is-active">Tab-A</li> 4 <li class="tab">Tab-B</li> 5 <li class="tab">Tab-C</li> 6</ul> 7 8<!--タブを切り替えて表示するコンテンツ--> 9<div class="panel-group"> 10 <div class="panel is-show">Content-A</div> 11 <div class="panel">Content-B</div> 12 <div class="panel">Content-C</div> 13</div>
jQuery
1jQuery(function($){ 2 $('.tab').click(function(){ 3 $('.is-active').removeClass('is-active'); 4 $(this).addClass('is-active'); 5 $('.is-show').removeClass('is-show'); 6 // クリックしたタブからインデックス番号を取得 7 const index = $(this).index(); 8 // クリックしたタブと同じインデックス番号をもつコンテンツを表示 9 $('.panel').eq(index).addClass('is-show'); 10 }); 11});
該当のソースコード
HTML
1 <ul class="tab-group"> 2 <li class="tab is-active">tabA</li> 3 <li class="tab">tabB</li> 4 <li class="tab">tabC</li> 5 </ul> 6 7 <!--タブを切り替えて表示するコンテンツ--> 8 <div class="panel-group"> 9 <div class="panel is-show"> 10 <ul class="tab-group-sub"> 11 <li class="tab-sub is-active">subA</li> 12 </ul> 13 </div> 14 <div class="panel"> 15 <ul class="tab-group-sub"> 16 <li class="tab-sub">subA</li> 17 <li class="tab-sub">subB</li> 18 <li class="tab-sub">subC</li> 19 </ul> 20 </div> 21 <div class="panel"> 22 <ul class="tab-group-sub"> 23 <li class="tab-sub">subA</li> 24 <li class="tab-sub">subB</li> 25 <li class="tab-sub">subC</li> 26 </ul> 27 </div> 28 </div> 29 30 <!--サブタブを切り替えて表示するコンテンツ--> 31 <div class="panel-group-sub"> 32 <div class="panel-sub is-show"> 33 <table> 34 </table> 35 </div> 36 <div class="panel-sub"> 37 <table> 38 </table> 39 <table> 40 </table> 41 <table> 42 </table> 43 </div> 44 <div class="panel"> 45 <table> 46 </table> 47 <table> 48 </table> 49 <table> 50 </table> 51 </div> 52 </div>
jQuery
1jQuery(function($){ 2 $('.tab').click(function(){ 3 $('.is-active').removeClass('is-active'); 4 $(this).addClass('is-active'); 5 $('.is-show').removeClass('is-show'); 6 // クリックしたタブからインデックス番号を取得 7 const index = $(this).index(); 8 // クリックしたタブと同じインデックス番号をもつコンテンツを表示 9 $('.panel').eq(index).addClass('is-show'); 10 }); 11});
よろしくお願いいたします。
CSSもご提示お願いします。
第三者が不具合も含めて再現できるコードをご提供いただけると幸いですー

回答1件
あなたの回答
tips
プレビュー