Bootstrap 折疊


Bootstrap 折疊(Collapse)外掛程式

折疊(Collapse)外掛程式可以輕鬆地讓頁面區域折疊起來。無論您用它來創建折疊導航還是內容面板,它都允許很多內容選項。

        如果您想要單獨引用該外掛程式的功能,那麼您需要引用 collapse.js。同時,也需要在您的 Bootstrap 版本中引用 Transition(過渡)外掛程式。或者,如 Bootstrap 外掛程式概覽 一章所提到,您可以引用 bootstrap.js 或壓縮版的 bootstrap.min.js

您可以使用折疊(Collapse)外掛程式:

  • #建立可折疊的分組或折疊面板(accordion) ,如下所示:

實例

<!DOCTYPE html>
<html>
<head>
   <title>Bootstrap 实例 - 折叠面板</title>
   <link href="http://libs.baidu.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet">
  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  <script src="http://libs.baidu.com/bootstrap/3.3.0/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="http://libs.baidu.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet">
  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  <script src="http://libs.baidu.com/bootstrap/3.3.0/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="http://libs.baidu.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet">
  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  <script src="http://libs.baidu.com/bootstrap/3.3.0/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)插件中要用到的事件。這些事件可在函數中當鉤子使用。

事件描述實例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="http://libs.baidu.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet">
     <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
     <script src="http://libs.baidu.com/bootstrap/3.3.0/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>

運行實例»點擊"運行實例" 按鈕查看線上實例