Bootstrap 折叠(Collapse)插件

折叠(Collapse)插件能够很容易地让页面区域折叠起来。不管您用它来创立折叠导航仍是内容面板,它都答应许多内容选项。

假如您想要独自引证该插件的功用,那么您需求引证 collapse.js。一起,也需求在您的 Bootstrap 版别中引证 Transition(过渡)插件。或许,正如 Bootstrap 插件概览 一章中所说到,您能够引证 bootstrap.js 或压缩版的 bootstrap.min.js

您能够运用折叠(Collapse)插件:

  • 创立可折叠的分组或折叠面板(accordion),如下所示:
    <!DOCTYPE html>
    <html>
    <head>
       <title>Bootstrap 实例 - 折叠面板</title>
       <link href="../bootstrap/css/bootstrap.min.css" rel="stylesheet">
       <script src="/scripts/jquery.min.js"></script>
       <script src="/bootstrap/js/bootstrap.min.js"></script>
    </head>
    <body>
    
    <div class="panel-group" id="accordion">
      <div class="panel panel-default">
        <div class="panel-heading">
          <h4 class="panel-title">
            <a data-toggle="collapse" data-parent="#accordion" 
              href="#collapseOne">
              点击我进行翻开,再次点击我进行折叠。第 1 部分
            </a>
          </h4>
        </div>
        <div id="collapseOne" class="panel-collapse collapse in">
          <div class="panel-body">
            Nihil anim keffiyeh helvetica, craft beer labore wes anderson 
            cred nesciunt sapiente ea proident. Ad vegan excepteur butcher 
            vice lomo.
          </div>
        </div>
      </div>
      <div class="panel panel-default">
        <div class="panel-heading">
          <h4 class="panel-title">
            <a data-toggle="collapse" data-parent="#accordion" 
              href="#collapseTwo">
              点击我进行翻开,再次点击我进行折叠。第 2 部分
            </a>
          </h4>
        </div>
        <div id="collapseTwo" class="panel-collapse collapse">
          <div class="panel-body">
            Nihil anim keffiyeh helvetica, craft beer labore wes anderson 
            cred nesciunt sapiente ea proident. Ad vegan excepteur butcher 
            vice lomo.
          </div>
        </div>
      </div>
      <div class="panel panel-default">
        <div class="panel-heading">
          <h4 class="panel-title">
            <a data-toggle="collapse" data-parent="#accordion" 
              href="#collapseThree">
              点击我进行翻开,再次点击我进行折叠。第 3 部分
            </a>
          </h4>
        </div>
        <div id="collapseThree" class="panel-collapse collapse">
          <div class="panel-body">
            Nihil anim keffiyeh helvetica, craft beer labore wes anderson 
            cred nesciunt sapiente ea proident. Ad vegan excepteur butcher 
            vice lomo.
          </div>
        </div>
      </div>
    </div>
    
    </body>
    </html>
    

    成果如下所示:

    折叠面板
    1. data-toggle="collapse" 增加到您想要翻开或折叠的组件的链接上。
    2. hrefdata-target 特点增加到父组件,它的值是子组件的 id
    3. data-parent 特点把折叠面板(accordion)的 id 增加到要翻开或折叠的组件的链接上。
  • 创立不带 accordion 符号的简略的可折叠组件(collapsible),如下所示:
    <!DOCTYPE html>
    <html>
    <head>
       <title>Bootstrap 实例 - 简略的可折叠组件</title>
       <link href="../bootstrap/css/bootstrap.min.css" rel="stylesheet">
       <script src="/scripts/jquery.min.js"></script>
       <script src="/bootstrap/js/bootstrap.min.js"></script>
    </head>
    <body>
    
    <button type="button" class="btn btn-primary" data-toggle="collapse" 
       data-target="#demo">
       简略的可折叠组件
    </button>
    
    <div id="demo" class="collapse in">
      Nihil anim keffiyeh helvetica, craft beer labore wes anderson 
      cred nesciunt sapiente ea proident. Ad vegan excepteur butcher 
      vice lomo.
    </div>
    
    </body>
    </html>
    

    成果如下所示:

    简略的可折叠组件

    正如您在实例中看到的,咱们创立了一个可折叠的组件,与折叠面板(accordion)不同,咱们没有增加特点 data-parent

用法

下表列出了折叠(Collapse)插件用于处理深重的弹性的 class:

Class描绘实例
.collapse躲藏内容。测验一下
.collapse.in显现内容。测验一下
.collapsing当过渡作用开端时被增加,当过渡作用完结时被移除。 

您能够经过以下两种办法运用折叠(Collapse)插件:

  • 经过 data 特点:向元素增加 data-toggle="collapse"data-target,主动分配可折叠元素的操控。data-target 特点承受一个 CSS 选择器,并会对其运用折叠作用。请保证向可折叠元素增加 class .collapse。假如您期望它默许情况下是翻开的,请增加额定的 class .in

    为了向可折叠控件增加相似折叠面板的分组办理,请增加 data 特点 data-parent="#selector"

  • 经过 JavaScript:可经过 JavaScript 激活 collapse 办法,如下所示:
    $('.collapse').collapse()
    

选项

有一些选项是经过 data 特点或 JavaScript 来传递的。下表列出了这些选项:

选项称号类型/默许值Data 特点称号描绘
parentselector
默许值:false
data-parent假如供给了一个选择器,当可折叠项目显现时,指定父元素下的一切可折叠的元素将被封闭。这与创痛的折叠面板(accordion)的行为相似 - 这依赖于 accordion-group 类。
toggleboolean
默许值:true
data-toggle切换调用可折叠元素。

办法

下面是一些折叠(Collapse)插件中有用的办法:

办法描绘实例
Options: .collapse(options)激活内容为可折叠元素。承受一个可选的 options 目标。
$('#identifier').collapse({
  toggle: false
})
Toggle: .collapse('toggle')切换显现/躲藏可折叠元素。
$('#identifier').collapse('toggle')
Show: .collapse('show')显现可折叠元素。
$('#identifier').collapse('show')
Hide: .collapse('hide')躲藏可折叠元素。
$('#identifier').collapse('hide')

实例

下面的实例演示了办法的用法:

<!DOCTYPE html>
<html>
<head>
   <title>Bootstrap 实例 - 折叠(Collapse)插件办法</title>
   <link href="../bootstrap/css/bootstrap.min.css" rel="stylesheet">
   <script src="/scripts/jquery.min.js"></script>
   <script src="/bootstrap/js/bootstrap.min.js"></script>
</head>
<body>

<div class="panel-group" id="accordion">
   <div class="panel panel-default">
      <div class="panel-heading">
         <h4 class="panel-title">
            <a data-toggle="collapse" data-parent="#accordion" 
               href="#collapseOne">
               点击我进行翻开,再次点击我进行折叠。第 1 部分--hide 办法
            </a>
         </h4>
      </div>
      <div id="collapseOne" class="panel-collapse collapse in">
         <div class="panel-body">
            Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred 
            nesciunt sapiente ea proident. Ad vegan excepteur butcher vice 
            lomo.
         </div>
      </div>
   </div>
   <div class="panel panel-success">
      <div class="panel-heading">
         <h4 class="panel-title">
            <a data-toggle="collapse" data-parent="#accordion" 
               href="#collapseTwo">
               点击我进行翻开,再次点击我进行折叠。第 2 部分--show 办法
            </a>
         </h4>
      </div>
      <div id="collapseTwo" class="panel-collapse collapse">
         <div class="panel-body">
            Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred 
            nesciunt sapiente ea proident. Ad vegan excepteur butcher vice 
            lomo.
         </div>
      </div>
   </div>
   <div class="panel panel-info">
      <div class="panel-heading">
         <h4 class="panel-title">
            <a data-toggle="collapse" data-parent="#accordion" 
               href="#collapseThree">
               点击我进行翻开,再次点击我进行折叠。第 3 部分--toggle 办法
            </a>
         </h4>
      </div>
      <div id="collapseThree" class="panel-collapse collapse">
         <div class="panel-body">
            Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred 
            nesciunt sapiente ea proident. Ad vegan excepteur butcher vice 
            lomo.
         </div>
      </div>
   </div>
   <div class="panel panel-warning">
      <div class="panel-heading">
         <h4 class="panel-title">
            <a data-toggle="collapse" data-parent="#accordion" 
               href="#collapseFour">
               点击我进行翻开,再次点击我进行折叠。第 4 部分--options 办法
            </a>
         </h4>
      </div>
      <div id="collapseFour" class="panel-collapse collapse">
         <div class="panel-body">
            Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred 
            nesciunt sapiente ea proident. Ad vegan excepteur butcher vice 
            lomo.
         </div>
      </div>
   </div>
</div>
<script type="text/javascript">
   $(function () { $('#collapseFour').collapse({
      toggle: false
   })});
   $(function () { $('#collapseTwo').collapse('show')});
   $(function () { $('#collapseThree').collapse('toggle')});
   $(function () { $('#collapseOne').collapse('hide')});
</script>  

</body>
</html> 

成果如下所示:

折叠(Collapse)插件办法

事情

下表列出了折叠(Collapse)插件中要用到的事情。这些事情可在函数中当钩子运用。

事情描绘实例
show.bs.collapse在调用 show 办法后触发该事情。
$('#identifier').on('show.bs.collapse', function () {
  // 履行一些动作...
})
shown.bs.collapse当折叠元素对用户可见时触发该事情(将等候 CSS 过渡作用完结)。
$('#identifier').on('shown.bs.collapse', function () {
  // 履行一些动作...
})
hide.bs.collapse当调用 hide 实例办法时当即触发该事情。
$('#identifier').on('hide.bs.collapse', function () {
  // 履行一些动作...
})
hidden.bs.collapse当折叠元素对用户躲藏时触发该事情(将等候 CSS 过渡作用完结)。
$('#identifier').on('hidden.bs.collapse', function () {
  // 履行一些动作...
})

实例

下面的实例演示了事情的用法:

<!DOCTYPE html>
<html>
<head>
   <title>Bootstrap 实例 - 折叠(Collapse)插件事情</title>
   <link href="../bootstrap/css/bootstrap.min.css" rel="stylesheet">
   <script src="/scripts/jquery.min.js"></script>
   <script src="/bootstrap/js/bootstrap.min.js"></script>
</head>
<body>

<div class="panel-group" id="accordion">
   <div class="panel panel-info">
      <div class="panel-heading">
         <h4 class="panel-title">
            <a data-toggle="collapse" data-parent="#accordion" 
               href="#collapseexample">
               点击我进行翻开,再次点击我进行折叠。--shown 事情
            </a>
         </h4>
      </div>
      <div id="collapseexample" class="panel-collapse collapse">
         <div class="panel-body">
            Nihil anim keffiyeh helvetica, craft beer labore wes anderson 
            cred nesciunt sapiente ea proident. 
            Ad vegan excepteur butcher vice lomo.
         </div>
      </div>
   </div>
</div>

<script type="text/javascript">
   $(function () { 
      $('#collapseexample').on('show.bs.collapse', function () {
         alert('嘿,当您翻开时会提示本正告');})
   });
</script> 


</body>
</html>

成果如下所示:

折叠(Collapse)插件事情