Bootstrap JS Collapse 插件

JS Collapse (collapse.js)

为手风琴式菜单和导航等可折叠组件提供基本样式和灵活支持。

插件依赖性:Collapse 要求在你的 Bootstrap 版本中包含 transitions 插件。

学习更多的 Collapse 知识, 请访问本站的 Bootstrap 可折叠教程.


Collapse 插件样式

描述实例
.collapse隐藏内容试一试
.collapse in显示内容试一试
.collapsing在过渡开始时添加,在过渡结束时删除试一试

通过 data-* 属性

只需要给元素添加 data-toggle="collapse"data-target,就可用将其变成折叠。data-target 属性接受一个 CSS 选择器来应用到折叠元素。所以确保将 collapse 样式添加到可折叠元素中。

实例
  1. <button class="btn" data-toggle="collapse" data-target="#demo">Collapsible</button>
  2. <div id="demo" class="collapse">
  3. Some text..
  4. </div>

提示:要将可折叠控件变成手风琴样式,请添加数据属性 data-parent="#selector"


通过 JavaScript

手动:

  1. $('.collapse').collapse()

Collapse Options

Options 可以通过数据属性或 JavaScript 传递。对于数据属性,将选项名称附加到 data-,如 data-parent=""

名称类型默认描述
parentselectorfalse显示这个折叠项时,父元素下其他所有的折叠项都将关闭。 (类似于传统的手风琴行为 - 这取决于面板样式类) - 请看下面的实例
togglebooleantrue在调用时切换可折叠元素

Collapse 方法

下表列出了所有可用的 Collapse 折叠方法。

方法描述试一试
.collapse(options)激活可折叠的元素,有关有效值,请参见上面的选项
.collapse("toggle")切换折叠元素试一试
.collapse("show")显示折叠元素试一试
.collapse("hide")隐藏折叠元素试一试

Collapse 事件

下表列出了所有可用的 Collapse 事件。

事件描述试一试
show.bs.collapse在即将显示可折叠元素时发生试一试
shown.bs.collapse完全显示可折叠元素时发生(CSS 过渡完成后)试一试
hide.bs.collapse在可折叠元素即将隐藏时发生试一试
hidden.bs.collapse在可折叠元素完全隐藏时发生(CSS 过渡完成后)试一试

更多实例

简单的折叠

下面的实例使用按钮切换另一个元素的展开和折叠内容:

实例
  1. <button type="button" class="btn btn-info" data-toggle="collapse" data-target="#demo">
  2. Simple collapsible
  3. </button>
  4. <div id="demo" class="collapse in">
  5. Lorem ipsum dolor sit amet, consectetur adipisicing elit,
  6. sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
  7. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
  8. nisi ut aliquip ex ea commodo consequat.
  9. </div>
折叠面板

以下实例显示了一个可折叠面板:

实例
  1. <div class="panel-group">
  2. <div class="panel panel-default">
  3. <div class="panel-heading">
  4. <h4 class="panel-title">
  5. <a data-toggle="collapse" href="#collapse1">Collapsible panel</a>
  6. </h4>
  7. </div>
  8. <div id="collapse1" class="panel-collapse collapse">
  9. <div class="panel-body">Panel Body</div>
  10. <div class="panel-footer">Panel Footer</div>
  11. </div>
  12. </div>
  13. </div>
折叠列表组

下面显示了一个可折叠面板,其中包含一个列表组:

实例
  1. <div class="panel-group">
  2. <div class="panel panel-default">
  3. <div class="panel-heading">
  4. <h4 class="panel-title">
  5. <a data-toggle="collapse" href="#collapse1">Collapsible list group</a>
  6. </h4>
  7. </div>
  8. <div id="collapse1" class="panel-collapse collapse">
  9. <ul class="list-group">
  10. <li class="list-group-item">One</li>
  11. <li class="list-group-item">Two</li>
  12. <li class="list-group-item">Three</li>
  13. </ul>
  14. <div class="panel-footer">Footer</div>
  15. </div>
  16. </div>
  17. </div>
Accordion 手风琴

下面的实例通过扩展面板组件显示了一个简单的手风琴:

注意data-parent 属性确保在显示一个可折叠项时,指定父项下的所有可折叠元素都将关闭。

实例
  1. <div class="panel-group" id="accordion">
  2. <div class="panel panel-default">
  3. <div class="panel-heading">
  4. <h4 class="panel-title">
  5. <a data-toggle="collapse" data-parent="#accordion" href="#collapse1">
  6. Collapsible Group 1</a>
  7. </h4>
  8. </div>
  9. <div id="collapse1" class="panel-collapse collapse in">
  10. <div class="panel-body">Lorem ipsum dolor sit amet, consectetur adipisicing elit,
  11. sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
  12. minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
  13. commodo consequat.</div>
  14. </div>
  15. </div>
  16. <div class="panel panel-default">
  17. <div class="panel-heading">
  18. <h4 class="panel-title">
  19. <a data-toggle="collapse" data-parent="#accordion" href="#collapse2">
  20. Collapsible Group 2</a>
  21. </h4>
  22. </div>
  23. <div id="collapse2" class="panel-collapse collapse">
  24. <div class="panel-body">Lorem ipsum dolor sit amet, consectetur adipisicing elit,
  25. sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
  26. minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
  27. commodo consequat.</div>
  28. </div>
  29. </div>
  30. <div class="panel panel-default">
  31. <div class="panel-heading">
  32. <h4 class="panel-title">
  33. <a data-toggle="collapse" data-parent="#accordion" href="#collapse3">
  34. Collapsible Group 3</a>
  35. </h4>
  36. </div>
  37. <div id="collapse3" class="panel-collapse collapse">
  38. <div class="panel-body">Lorem ipsum dolor sit amet, consectetur adipisicing elit,
  39. sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
  40. minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
  41. commodo consequat.</div>
  42. </div>
  43. </div>
  44. </div>
展开与折叠切换图标 & 文本

以下实例在打开和关闭可折叠内容时更改打开/关闭文本和图标:

实例
  1. $(document).ready(function(){
  2. $("#demo").on("hide.bs.collapse", function(){
  3. $(".btn").html('<span class="glyphicon glyphicon-collapse-down"></span> Open');
  4. });
  5. $("#demo").on("show.bs.collapse", function(){
  6. $(".btn").html('<span class="glyphicon glyphicon-collapse-up"></span> Close');
  7. });
  8. });

或您使用 CSS:

实例
  1. /* Icon when the collapsible content is shown */
  2. .btn:after {
  3. font-family: "Glyphicons Halflings";
  4. content: "\e114";
  5. }
  6. /* Icon when the collapsible content is hidden */
  7. .btn.collapsed:after {
  8. content: "\e080";
  9. }