0

私は過去数時間の間違いを覚えるのに苦労しました。私はブートストラップのアコーディオンとハンドルバーのテンプレートエンジンを使用しています。twitter bootstrapアコーディオンのバグ

問題は、すべてのタブが開いているページを最初に読み込むときに問題が発生します。それらのタブをすべて閉じると、そのうちの1つを閉じてもう一度開きます。こちらのページのコードは次のとおりです。

<div class="panel-group" style="margin: 1%" id="accordion" role="tablist" aria-multiselectable="true"> 
    {{# each questions }} 
    <div class="panel panel-primary"> 
    <div class="panel-heading" role="tab" id="{{@index}}"> 
     <h4 class="panel-title"> 
     <a role="button" data-toggle="collapse" data-parent="#accordion" href="#{{ this.id }}" aria-expanded="true" aria-controls="{{ this.id }}"> 
      {{ this.syntax }} 
     </a> 
     </h4> 
    </div> 
    <div id="{{ this.id }}" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="{{@index}}"> 
     <div class="panel-body"> 
     {{ this.answer }}   
     </div> 
    </div> 
    </div> 
    {{/each}} 
</div> 

私はので、ここでハンドルバーを使用したレイアウトです:

<!doctype html> 
<html lang='en'> 
<head> 
    <meta charset = 'UTF-8'> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 
    <link rel="stylesheet" href="/client/css/Site.css"> 
    <script src="https://code.jquery.com/jquery-1.9.1.js"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> 
    <script src="/client/js/site.js"></script> 
</head> 
<body> 
    <ul class="topnav"> 
     <li><a class="active" href="/">NANO-DEV</a><li> 
     <li><a href="/questions">Questions</a></li> 
     <li class="right"><a href="#about">About</a></li> 
    </ul> 
    {{{ body }}} 
</body> 
</html> 

私はこのスタックcase次試してみましたので、私は私のjsファイルにこのコードを追加したが、それは文句を言わない助け..

$(function() { 
    var transition = false; 
    var $active = true; 

    $('.panel-title > a').click(function(e) { 
    e.preventDefault(); 
    }); 

    $('#accordion').on('show.bs.collapse',function(){ 
    if($active){ 
     $('#accordion .in').collapse('hide'); 
    } 
    }); 

    $('#accordion').on('hidden.bs.collapse',function(){ 
    if(transition){ 
     transition = false; 
     $('.panel-collapse').collapse('show'); 
    } 
    }); 
}); 

答えて

0

HTMLでのごに従って要素(複数可)にのみ.collapseクラスを追加してみてください。 また、showイベントとhideイベントを処理する必要はありません。

+0

を助け願っていますか?私はすべてのパネルを試してみましたが、ボディとその両方がそれを悪化させるだけの助けにならないのです – GevAlter

+1

nvm、私はあなたが崩壊を崩壊させて変えてくれると思っています。 – GevAlter

0

同じ問題に直面しました。すべてのセクションが.collapse呼び出しでオープンされていました。 +別の面白いバグ(下)。

しかし、解決策が見つかった。

私は正しいHTMLマークアップを持っていました(そしてうまくいきました)。しかし、私はセクションをプログラム的に切り替えたいと思っていました。一部のセクションで.collapse( 'show')を呼び出すと、手動でクリックしても、他のセクションが非同期で表示されます(一部は開いたままです)。ここでのトリックは、.collapse()コールを伴う強制的な初期化プラグインです。だから、すべてのセクションを避けるためにを拡大(と何の問題もなくプログラムによってそれらを制御可能にする)あなたは両方のオプションこのような提供する必要があります。

$acc.find('.collapse').collapse({ 
    parent: $acc, // to make it work as accordion 
    toggle: false // don't toggle while initialising 
}); 

の詳細は、スニペットを確認してください。

私はそれがどのような要素で誰か

$(function(){ 
 
\t var tabIndex = 0; 
 

 
\t var $acc = $('#accordion'); 
 
\t const tabsCount = $acc.find('.collapse').length; 
 

 
\t // IF SKIP JS INITIALISATION - SHOW METHOD WILL NOT CLOSE OTHER TABS (UNLESS THEY'RE ALREADY INITIALIZED WITH MANUAL CLICKS) 
 
\t $acc.find('.collapse').collapse({ 
 
\t \t parent: $acc, // to make it work as accordion 
 
\t \t toggle: false // don't toggle while initializing 
 
\t }); 
 

 
\t $('#openNextTabBtn').on('click', function(){ 
 
\t \t $acc.find('.collapse').eq(++tabIndex % tabsCount).collapse('show'); 
 
\t }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 

 
<div> 
 
    <span class="btn btn-default" id="openNextTabBtn">Open Next Tab</span> 
 
</div> 
 

 
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"> 
 
    <div class="panel panel-default"> 
 
     <div class="panel-heading" role="tab" id="headingOne"> 
 
      <h4 class="panel-title"> 
 
       <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne"> 
 
        Collapsible Group Item #1 
 
       </a> 
 
      </h4> 
 
     </div> 
 
     <div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne"> 
 
      <div class="panel-body"> 
 
       Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. 
 
      </div> 
 
     </div> 
 
    </div> 
 
    <div class="panel panel-default"> 
 
     <div class="panel-heading" role="tab" id="headingTwo"> 
 
      <h4 class="panel-title"> 
 
       <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo"> 
 
        Collapsible Group Item #2 
 
       </a> 
 
      </h4> 
 
     </div> 
 
     <div id="collapseTwo" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo"> 
 
      <div class="panel-body"> 
 
       Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. 
 
      </div> 
 
     </div> 
 
    </div> 
 
    <div class="panel panel-default"> 
 
     <div class="panel-heading" role="tab" id="headingThree"> 
 
      <h4 class="panel-title"> 
 
       <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree"> 
 
        Collapsible Group Item #3 
 
       </a> 
 
      </h4> 
 
     </div> 
 
     <div id="collapseThree" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingThree"> 
 
      <div class="panel-body"> 
 
       Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. 
 
      </div> 
 
     </div> 
 
    </div> 
 
</div>

関連する問題