Bootstrap 3 折叠插件 ( collapse )

Bootstrap 内置了折叠插件 ( collapse ) 用于创建折叠导航或者内容面板

可折叠的分组或折叠面板 ( accordion )

Bootstrap 使用 .panel-collapse CSS 类来创建折叠面板

<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">只要用心为用户挖掘想要的功能,这些不谋而合的想法就会不断出现
            </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">只要用心为用户挖掘想要的功能,这些不谋而合的想法就会不断出现
        </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">只要用心为用户挖掘想要的功能,这些不谋而合的想法就会不断出现
            </div>
        </div>
    </div>
</div>

运行范例 »

运行以上范例,输出结果如下

折叠面板

当只使用属性创建可折叠组件时

  1. 属性 data-toggle="collapse" 用于想要展开或折叠的组件的链接上
  2. 属性 hrefdata-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">只要用心为用户挖掘想要的功能,这些不谋而合的想法就会不断出现
</div>

上面的范例,我们没有没有添加属性 data-parent

运行范例 »

运行以上范例,输出结果如下

简单的可折叠组件

可折叠组件的 CSS 类

下表列出了折叠 ( collapse ) 插件用于处理繁重的伸缩的 CSS class

CSS class 描述 实例
.collapse 隐藏内容 范例 »
.collapse.in 显示内容 范例 »
.collapsing 当过渡效果开始时被添加,当过渡效果完成时被移除

创建折叠面板的方法

我们可以通过以下两种方式使用折叠 ( collapse ) 插件

  1. 通过 data 属性

    向元素添加 data-toggle="collapse"data-target ,自动分配可折叠元素的控制

    属性 data-target 接受一个 CSS 选择器,并会对其应用折叠效果

    请确保向可折叠元素添加 class .collapse

    如果希望它默认情况下是打开的,请添加额外的 class .in

    如果想实现类似折叠面板的分组管理,请添加属性 data-parent="#selector"

  2. 通过 JavaScript

    可以通过 JavaScript 激活 collapse 方法

    $('.collapse').collapse()
    

选项

下表列出了折叠组件可以通过 data 属性或 JavaScript 来传递的配置选项

选项 描述
parent 如果提供了一个选择器,当可折叠项目显示时,指定父元素下的所有可折叠的元素将被关闭
这与传统的折叠面板 ( accordion ) 的行为类似,依赖于 accordion-group 类

selector 类型
默认值:false
属性名:data-parent
toggle 切换调用可折叠元素

boolean 类型
默认值:true
属性名:data-toggle

方法

下表列出了折叠组件可以使用的方法

方法 描述
.collapse(options) 激活内容为可折叠元素。接受一个可选的 options 对象

$('#identifier').collapse({toggle: false})
.collapse('toggle') 切换显示/隐藏可折叠元素
.collapse('show') 显示可折叠元素
$('#identifier').collapse('show')
.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 部分 (点我进行展开,再次点我进行折叠)
                </a>
            </h4>
        </div>
        <div id="collapseOne" class="panel-collapse collapse in">
            <div class="panel-body">只要用心为用户挖掘想要的功能,这些不谋而合的想法就会不断出现
            </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">只要用心为用户挖掘想要的功能,这些不谋而合的想法就会不断出现
        </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">只要用心为用户挖掘想要的功能,这些不谋而合的想法就会不断出现
            </div>
        </div>
    </div>
</div>
<script>
$(function(){
    $('#collapseFour').collapse({toggle:false});
    $('#collapseTwo').collapse('show')});
    $('#collapseThree').collapse('toggle')});
    $('#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">只要用心为用户挖掘想要的功能,这些不谋而合的想法就会不断出现
            </div>
        </div>
    </div>
</div>
<div id="message" style="margin-top:10px"></div>
<script>
$(function(){
    $("#collapseexample").on("show.bs.collapse",function(){
        $("#message").append("<p>" + new Date() + "嘿,当您展开时会输出这条消息");
    })
});

运行范例 »

运行以上范例,输出结果如下

折叠( Collapse ) 插件事件

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.