1

我正在使用 bootstrap3 的折叠工具。http://getbootstrap.com/javascript/#collapse

但我希望如果全部关闭,第一个 div 应该再次打开,这样如果全部关闭,就没有多余的空间。

这是我尝试过的,但这只工作一次,第二次,它没有打开第一次。任何想法为什么?

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

我的第四个内容

<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 回答