
前提・実現したいこと
JS/CSS(SCSS)/HTMLでタブを実装したいのですがうまくいきません。
CSS(SCSS)/HTMLまでは挙動は想定通りできているのでJSの問題かもしれません。
jQueryの読み込みができていないとかでしょうか???
Code pen内で実装してみています。
発生している問題・エラーメッセージ
HTML
1<div class="tab_wrap"> 2 <div class="tab_area"> 3 <label class="tab_label" for="tab1">tab1</label> 4 <label class="tab_label" for="tab2">tab2</label> 5 <label class="tab_label" for="tab3">tab3</label> 6 </div> 7 <div class="panel_area"> 8 <div id="panel" class="tab_panel"> 9 <p>panel1</p> 10 </div> 11 <div id="panel" class="tab_panel"> 12 <p>panel2</p> 13 </div> 14 <div id="panel" class="tab_panel"> 15 <p>panel3</p> 16 </div> 17 </div> 18</div> 19
SCSS
1.tab_wrap{width:500px; margin:80px auto;} 2 3.tab_area{font-size:0; margin:0 10px; 4 5 label{width:150px; margin:0 5px; display:inline-block; padding:12px 0; color:#999; background:#ddd; text-align:center; font-size:13px; cursor:pointer; transition:ease 0.2s opacity;} 6 7 label:hover{opacity:0.5;} 8} 9 10.panel_area{background:#fff; 11 12 .tab_panel{width:100%; padding:80px 0; display:none;} 13 14 .tab_panel p{font-size:14px; letter-spacing:1px; text-align:center;} 15} 16 17 18 19.tab_area label.active{background:#fff; color:#000;} 20.tab_panel.active{display:block;} 21 22
JavaScript
1$(".tab_label").on("click",function(){ 2 var $th = $(this).index(); 3 $(".tab_label").removeClass("active"); 4 $(".tab_panel").removeClass("active"); 5 $(this).addClass("active"); 6 $(".tab_panel").eq($th).addClass("active"); 7});