2017-01-25 7 views
0

私はアコーディオンスクリプトに対する応答性の高いタブである以下のコードを使用しています。アコーディオンへのレスポンスタブ - アコーディオンでのクローズを切り替えます

また、 'tab_drawer_heading'をクリックして、現在のアコーディオンアイテムを開いて(トグル)閉じることができます。現在は別のものがクリックされるまで開いています。

JSFiddle:https://jsfiddle.net/d02Lu45y/1/

// tabbed content 
$(".tab_content").hide(); 
$(".tab_content:first").show(); 

/* if in tab mode */ 
$("ul.tabs li").click(function() { 

    $(".tab_content").hide(); 
    var activeTab = $(this).attr("rel"); 
    $("#"+activeTab).fadeIn();   

    $("ul.tabs li").removeClass("active"); 
    $(this).addClass("active"); 

    $(".tab_drawer_heading").removeClass("d_active"); 
    $(".tab_drawer_heading[rel^='"+activeTab+"']").addClass("d_active"); 

}); 
/* if in drawer mode */ 
$(".tab_drawer_heading").click(function() { 

    $(".tab_content").hide(); 
    var d_activeTab = $(this).attr("rel"); 
    $("#"+d_activeTab).fadeIn(); 

    $(".tab_drawer_heading").removeClass("d_active"); 
    $(this).addClass("d_active"); 

    $("ul.tabs li").removeClass("active"); 
    $("ul.tabs li[rel^='"+d_activeTab+"']").addClass("active"); 
}); 

答えて

1

はあなたのコードでそれが動作する、以下の条件を追加します。

タブが開いているかどうかを確認する前に確認する必要があります。そうでない場合は、その後のおかげ

if(!$(this).hasClass('d_active')){  
      $("#"+d_activeTab).fadeIn(); 
} 

作業https://jsfiddle.net/d02Lu45y/3/

+0

近い他のWIZEを示しました。最初は動作しますが、一度閉じてしまえば再度開くことはできません。 – sarah3585

+0

これをチェックしてください - https://jsfiddle.net/d02Lu45y/9/ .. – Sunil