Latest web development tutorials

Bootstrap 折疊(Collapse)插件

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

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

您可以使用折疊(Collapse)插件:

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

    實例

    < 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 >

    嘗試一下»

    結果如下所示:

    折疊面板
    1. data-toggle="collapse"添加到您想要展開或折疊的組件的鏈接上。
    2. href或data-target屬性添加到父組件,它的值是子組件的id
    3. data-parent屬性把折疊面板(accordion)的id添加到要展開或折疊的組件的鏈接上。
  • 創建不帶accordion標記的簡單的可折疊組件(collapsible),如下所示:

    實例

    < 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 >

    嘗試一下»

    結果如下所示:

    簡單的可折疊組件

    正如您在實例中看到的,我們創建了一個可折疊的組件,與折疊面板(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')

實例

下面的實例演示了方法的用法:

實例

< 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 >
$ ( function ( ) { $ ( ' #collapseFour ' ) . collapse ( { toggle : false } ) } ) ; $ ( function ( ) { $ ( ' #collapseTwo ' ) . collapse ( ' show ' ) } ) ; $ ( function ( ) { $ ( ' #collapseThree ' ) . collapse ( ' toggle ' ) } ) ; $ ( function ( ) { $ ( ' #collapseOne ' ) . collapse ( ' hide ' ) } ) ;
</ script >

嘗試一下»

結果如下所示:

折疊(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 () {
	// 执行一些动作...
})

實例

下面的實例演示了事件的用法:

實例

< 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 >
$ ( function ( ) { $ ( ' #collapseexample ' ) . on ( ' show.bs.collapse ' , function ( ) { alert ( ' 嘿,當您展開時會提示本警告 ' ) ; } ) } ) ;
</ script >

嘗試一下»

結果如下所示:

折疊(Collapse)插件事件