1

私は、bootstrap3 の折りたたみツールを使用しています。http://getbootstrap.com/javascript/#collapse

しかし、すべてが閉じられた場合、最初の div が再び開かれ、すべてが閉じられた場合に予備のスペースがないようにする必要があります。

これは私が試したものですが、これは1回だけ機能し、2回目は最初に開いていません。なぜアイデアはありますか?

 $(function(){
   $('#four').on('click', function () {
      var four_class = $('#collapseFour').attr("class");
      if(four_class=="panel-collapse in"){
        $('#collapseOne').collapse();
      }
   });
 }); 

私の4番目のコンテンツ

<div class="panel panel-default">
  <div class="panel-heading">
      <h4 class="panel-title">
       <a class="accordion-toggle lead" data-toggle="collapse" data-parent="#accordion" href="#collapseFour" id="four">
       Locations eintragen
        </a>
      </h4>
  </div>
  <div id="collapseFour" class="panel-collapse collapse">
    <div class="panel-body">
         fourth content                       
    </div>
  </div>                            
 </div>
4

1 に答える 1

2

hidden.bs.collapseパネルが閉じられたときにブロードキャストされるイベントを見る必要があります。

そこで、パネルの数が閉じたパネルの数と等しいかどうかを確認し、そうであれば最初のパネルを開きます..

$('#accordion').on('hidden.bs.collapse', function (item) {
    // after closing check if any is still open
    var self = $(this),
        collapsed = self.find('.collapsed'),
        all = self.find('.panel-title'),
        allClosed = collapsed.length === all.length;

    if (allClosed){
        setTimeout(function(){
            self.find('.panel-collapse').first().collapse('show');
            }, 10);
    }
})
于 2013-10-10T16:55:15.743 に答える