一、简介

Collapse 插件为 HTML 标签提供折叠、展开行为,依赖 transition.jsbootstrap.js 文件中已包含)。

二、实现机制

实现 Collapse 效果需要:

  1. 一个 <a> 标签或者 <button> 标签:<a> 标签使用 href 属性;<button> 标签使用 data-target 属性。
  2. 上面两种情况,都要添加 data-toggle="collapse" 属性。
  3. 被 Collapse 的目标标签要设置 id 以及添加样式 .collapse

三、简单的 Collapse

下面是一个简单 Collapse 的完整例子(线上例子在 这里):

<div class="container">
<div class="row">
<div class="col-md-6">
<div class="well text-center">
<a class="btn btn-info" href="#targetDivOfCollapse" data-toggle="collapse" role="button" aria-expanded="false" aria-controls="targetDivOfCollapse">Collapse by Link href</a>
</div>
</div>
<div class="col-md-6">
<div class="well text-center">
<button class="btn btn-info" data-target="#targetDivOfCollapse" data-toggle="collapse" type="button" aria-expanded="false" aria-controls="targetDivOfCollapse">Collapse by Button data-target</a>
</div>
</div>
<div id="targetDivOfCollapse" class="col-md-12 collapse">
<div class="well">
<h2 class="text-center">Content</h2>
</div>
</div>
</div>
</div>

被标记为 .collapse 的标签是隐藏的;被标记为 .collapse.in 的标签是显示的;被标记为 .collapsing 的标签表示在过渡阶段。

四、带 Panel 的 Collapse

<div class="panel panel-default">
<div class="panel-heading" role="tab" id="collapseListGroupHeading1">
<h4 class="panel-title"> <a href="#collapseListGroup1" class="collapsed" role="button" data-toggle="collapse" aria-expanded="false" aria-controls="collapseListGroup1"> Collapsible list group </a> </h4>
</div>
<div class="panel-collapse collapse" role="tabpanel" id="collapseListGroup1" aria-labelledby="collapseListGroupHeading1" aria-expanded="false">
<ul class="list-group">
<li class="list-group-item">Bootply</li>
<li class="list-group-item">One itmus ac facilin</li>
<li class="list-group-item">Second eros</li>
</ul>
<div class="panel-footer">
Footer
</div>
</div>
</div>

五、手风琴式 Collapse

手风琴式 Collapse 是稍复杂的带 Panel 的 Collapse。这里 是一个例子。

<div class="container">
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingOne">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Collapsible Group Item #1
</a>
</h4>
</div>
<div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
<div class="panel-body">
Content 1
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingTwo">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
Collapsible Group Item #2
</a>
</h4>
</div>
<div id="collapseTwo" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo">
<div class="panel-body">
Content 2
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingThree">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
Collapsible Group Item #3
</a>
</h4>
</div>
<div id="collapseThree" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingThree">
<div class="panel-body">
Content 3
</div>
</div>
</div>
</div>
</div>

这里的手风琴容器标记为 .panel-group,里面包含 3 个 .panel

在每个 .panel-heading 中都有一个 <a> 标签,它控制 .panel-collapse.collapse(这是必须的)的。

<a> 标签元素要指明下列属性。

  1. data-toggle="collapse":表示是 collapseable 插件。
  2. data-parent="#accordion":指明父元素,保证只有一个子元素是展开的。
  3. href="#...":执行 Collapse 操作的目标元素。
  4. 未展开元素要设置 .collapsed 类。

六、通过 JavaScript 代码调用 Collapse

之前都是用标签 API 完成 Collapse 效果的,使用 JavaScript 代码调用的方式参考 这里

七、参考链接

http://getbootstrap.com/javascript/#collapse

(完)

Bootstrap 的 Collapse的更多相关文章

  1. [Bootstrap] 8. 'Collapse', data-target, data-toggle & data-parent

    Using Bootstrap JavaScript Plugins If we want to add behavior to our website, which of the following ...

  2. Bootstrap 折叠(collapse) 初见

    以下代码来自bootstrap中文网 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta c ...

  3. Bootstrap插件-collapse

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...

  4. Bootstrap 折叠(collapse)插件面板

    折叠插件(collapse)可以很容易地让页面区域折叠起来, 无论您是用它来创建折叠导航还是内容面板,它都允许很多内容选项. 您可以使用折叠插件 1.创建可折叠的分组或折叠的面板 <!DOCTY ...

  5. 基于BootStrap的Collapse折叠(包含回显展开折叠的对应状态)

    情况描述:为了改善页面上的input框太多,采用∧∨折叠展开,这个小东西来控制,第一次做,记录一下ヾ(◍°∇°◍)ノ゙下边是Code 代码: //html代码 <div id="col ...

  6. bootstrap 折叠collapse失效

    手动点击折叠,然后调用折叠全部以后,在手动点击折叠项,折叠失效. 方法,折叠项是通过添加或删除".in"来实现,实现如下 $(".collapse.in").c ...

  7. bootstrap之collapse

    <div class="container"> <!--该button可以控制div是否显示 1.首先给button设置data-toggle="col ...

  8. Bootstrap 3之美07-插件Collapse、Accordion、Modal、Tab、Tooltip、Alert、Carousel

    类似Page Header, Breadcrumbs, Dropdowns等,都是Bootstrap的组件,是静态的.如果涉及到交互,Bootstrap提供了插件.这些插件包括: ○ 过渡效果: bo ...

  9. 第二百五十节,Bootstrap项目实战--响应式导航

    Bootstrap项目实战--响应式导航 学习要点: 1.响应式导航 一.响应式导航 基本导航组件+响应式 第一步,声明导航区域,设置导航默认样式,设置导航条固定在顶部navbar样式class类,写 ...

随机推荐

  1. Debian For ARM mysql-server install information

    /**************************************************************************** * Debian For ARM mysql ...

  2. XE7 - ListView自测笔记

    这两天主要是摸索着使用了ListView和SQLite.郁闷过,也有收获. 一.SQLite 首先记录下SQLite自己碰到的几个小问题: 1. SQLite中字符串连接符是‘||’, 换行符为 x' ...

  3. itext生成pdf(附带页眉,页脚,页码)

    package cn.picclife.mwx.salesupport.marketactivity.util; import java.io.File; import java.io.FileOut ...

  4. Til the Cows Come Home (最短路模板题)

    个人心得:模板题,不过还是找到了很多问题,真的是头痛,为什么用dijkstra算法book[1]=1就错了..... 纠结中.... Bessie is out in the field and wa ...

  5. 如何找回未保存过的 Excel 文件?

    如何找回未保存过的 Excel 文件? 同事做了一个文件,未保存直接关闭,正常是找不回来的. 但是 Excel 有一个强大的自动保存功能,对没有保存的文件也可以找回.

  6. SOA、微服务与服务网格

    SOA架构解析 SOA 全称是: Service Oriented Architecture,中文释义为 “面向服务的架构”,它是一种设计理念,其中包含多个服务, 服务之间通过相互依赖最终提供一系列完 ...

  7. GIT学习地址

    https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 git下载:https://gi ...

  8. Spring 与 MyBatis 的整合

    本文讨论 Spring 与 MyBatis 的整合. 在 beans.xml 中我们定义了两个 bean: SqlSessionFactoryBean.SqlSessionTemplate. 1.Sq ...

  9. Java-API-Package:javax.annotation

    ylbtech-Java-API-Package:javax.annotation 1.返回顶部 1. Package javax.annotation Enum Summary Resource.A ...

  10. Java程序开发中的简单内存分析

    首先说明内存总体分为了4个部分, 包括 1.stack segment (栈区存储基本数据类型的局部变量,对象的引用名) 2.heap segment(堆区,一般用于存储java中new 出来的对象) ...