如果最近关闭,在第一个崩溃

时间:2013-10-10 16:28:06

标签: javascript jquery html css twitter-bootstrap-3

我正在使用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>

1 个答案:

答案 0 :(得分: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);
    }
})