当手风琴的所有窗格都折叠时,将类添加到手风琴的 div 包装器(使用 Twitter Bootstrap)



我在我的网站上使用Twitter Bootstrap实现了手风琴效果,就像 http://getbootstrap.com/javascript/#collapse-example-accordion 一样。

打开和关闭面板似乎不会向任何父元素添加类,只有 .panel-headings 和 .panel-collapses...

我希望它在手风琴的所有面板都关闭/折叠时向父元素添加一个类(文档示例中的div.bs 示例)。

Bootstrap 有这样做的选项吗?

如果没有,这似乎不会太难实现......

  • 单击/折叠打开的.panel-headingclass="all-closed"添加到父元素
  • 单击/打开未打开的.panel-heading删除"all-closed"类(如果存在)

但也许 Bootstrap 有一个选择? 或者也许有人有一些jQuery示例让我朝着正确的方向前进?

我最终得到了一些几乎可以工作的卡顿代码......刚才发现我需要使用.on方法才能使其真正起作用。

我的解决方案如下所示:

$('.panel-group').on('click', 'a[data-toggle="collapse"]:not(".collapsed")', function() {
  $('.panel-group').addClass('allPanesClosed');
});
$('.panel-group').on('click', 'a[data-toggle="collapse"].collapsed', function() {                     
  $('.panel-group').removeClass('allPanesClosed');
});

最新更新