Bootstrap每天必学之折叠


Posted in Javascript onApril 12, 2016

本文主要来学习一下JavaScript插件--折叠。
1、过渡效果
关于过渡效果
对于简单的过渡效果,只需将transition.js和其它JS文件一起引入即可。如果你使用的是编译(或压缩)好的bootstrap.js文件,就无需再单独将其引入了。
What's inside
Transition.js是针对 is a basic helper for transitionEnd事件的一个基本助手工具,也是对CSS过渡效果的模拟。它被其它插件用来检测当前浏览器对CSS过渡效果是否支持。
2、折叠
对为支持折叠功能的组件,例如accordions和导航,赋予基本样式和灵活的支持。

插件依赖

折叠插件依赖过渡效果插件。

案例
使用折叠插件,通过扩展panel组件从而构建了一个简单的accordion组件。
先来看一下效果。

Bootstrap每天必学之折叠

接下来看一下代码的实现。

<div class="container" style="margin-top:140px;">
 <div class="panel-group" id="accordion">
 <div class="panel panel-default">
 <div class="panel-heading">
  <h4 class="panel-title">
  <a data-toggle="collapse" data-toggle="collapse" data-parent="#accordion" href="#collapseOne"> Collapsible Group Item </a>
  </h4>
 </div>
 <div id="collapseOne" class="panel-collapse collapse in">
  <div class="panel-body"> Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. </div>
 </div>
 </div>
 <div class="panel panel-default">
 <div class="panel-heading">
  <h4 class="panel-title">
  <a data-toggle="collapse" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo"> Collapsible Group Item #2 </a>
  </h4>
 </div>
 <div id="collapseTwo" class="panel-collapse collapse">
  <div class="panel-body"> Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. </div>
 </div>
 </div>
 <div class="panel panel-default">
 <div class="panel-heading">
  <h4 class="panel-title">
  <a data-toggle="collapse" data-toggle="collapse" data-parent="#accordion" href="#collapseThree"> Collapsible Group Item #3 </a>
  </h4>
 </div>
 <div id="collapseThree" class="panel-collapse collapse">
  <div class="panel-body"> Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. </div>
 </div>
 </div>
 </div>
 </div>

第一步:首先最外面那层panel-group这层下面包括几个小组。
第二步:看一下几个简单的组

<div class="panel panel-default">
 <div class="panel-heading">
 <h4 class="panel-title">
 <a data-toggle="collapse" data-toggle="collapse" data-parent="#accordion" href="#collapseOne"> Collapsible Group Item #1 </a>
 </h4>
 </div>
 <div id="collapseOne" class="panel-collapse collapse in">
 <div class="panel-body">
 </div>
 </div>
</div>

通过代码也比较清楚的可以看出一个panel的结构。
panel-header和pandl-body,然后panel-header里面可以包含标题,链接。通过链接和panel-body相连。
第三步:你可以发现在panel-group中有一个id="accordion",然后下面每个标题下链接中有个data-parent="#accordion"。
如果去掉的话,那么效果就是点击其他链接后,原来的panel并不会再缩起来了。
你可以通过另一个方式来展示折叠的效果。

<div class="container" style="margin-top:140px;">
 <button type="button" class="btn btn-danger" data-toggle="collapse" data-target="#demo"> simple collapsible </button>

<div id="demo" class="collapse in">Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.</div>

Bootstrap每天必学之折叠

用法
折叠插件通过几个简单的类来控制样式
.collapse 隐藏内容
.collapse  in  显示内容
.collapsing。 It  is added when the transition starts, and removed when it finishes意思大概可能就是折叠被添加后过渡效果就有了,然后如果被移除了它就结束了。
通过data属性
仅仅通过向页面元素添加data-toggle="collapse" 和data-target就可以为其赋予控制可折叠页面元素的能力。data-target属性接受一个CSS选择器作为其控制对象。请确保为可折叠页面元素添加collapse class。如果你希望可折叠页面元素的默认状态是展开的,请添加in class。
为了给一组可折叠页面元素添加控制器,添加data-parent="#selector"即可。请参考上面的例子即可。
通过JavaScript

<button type="button" class="btn btn-danger" onClick="Open()">打开</button>
<button type="button" class="btn btn-danger" onClick="Hide()">折叠</button>

<div id="demo" class="collapse in">Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.</div> <div class="panel-group" id="accordion" style="margin-top:240px;">
<script type="text/javascript"> $(function(){
  $("#demo").collapse({
 toggle: false })
 }) 
 function Open(){
 $("#demo").collapse("show");
 }
 function Hide(){
 $("#demo").collapse("hide");
 } </script>

来看一下上面的效果

Bootstrap每天必学之折叠

方法
赋予页面元素可折叠功能。接受一个可选的object作为参数。
$("#demo").collapse({toggle: false})
这样元素在初始化的时候会是展开的。
1.collapse('toggle')展示或隐藏一个可折叠的页面元素。
2.collapse('show')展示一个可折叠页面元素。
3.collapse('hide')隐藏一个可折叠页面元素。
事件
Bootstrap中的折叠插件对外暴露了一组可以监听的事件。

Bootstrap每天必学之折叠

这样就为元素绑定了隐藏时的事件。

如果大家还想深入学习,可以点击这里进行学习,再为大家附两个精彩的专题:Bootstrap学习教程 Bootstrap实战教程

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
响应鼠标变换表格背景或者颜色的代码
Mar 30 Javascript
统计出现最多的字符次数的js代码
Dec 03 Javascript
jQuery 动态云标签插件
Nov 11 Javascript
js选项卡的实现方法
Feb 09 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
Dec 24 Javascript
全面理解JavaScript中的继承(必看)
Jun 16 Javascript
Node.JS中事件轮询(Event Loop)的解析
Feb 25 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
Feb 19 Javascript
vuex 中插件的编写案例解析
Jun 10 Javascript
Vue退出登录时清空缓存的实现
Nov 12 Javascript
JS快速实现简单计算器
Apr 08 Javascript
一百多行代码实现react拖拽hooks
Mar 23 Javascript
JavaScript几种数组去掉重复值的方法推荐
Apr 12 #Javascript
学习使用bootstrap基本控件(table、form、button)
Apr 12 #Javascript
如何高效率去掉js数组中的重复项
Apr 12 #Javascript
学习使用bootstrap3栅格系统
Apr 12 #Javascript
分享两段简单的JS代码防止SQL注入
Apr 12 #Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
Apr 12 #Javascript
原生js实现百叶窗效果及原理介绍
Apr 12 #Javascript
You might like
Thinkphp模板标签if和eq的区别和比较实例分析
2015/07/01 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
2019/01/16 PHP
理解Javascript_10_对象模型
2010/10/16 Javascript
JavaScript全局函数使用简单说明
2011/03/11 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
在JavaScript中操作时间之setYear()方法的使用
2015/06/12 Javascript
Bootstrap项目实战之首页内容介绍(全)
2016/04/25 Javascript
概述javascript在Google IE中的调试技巧
2016/11/24 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
2017/09/12 jQuery
详解Vue快速零配置的打包工具——parcel
2018/01/16 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
2018/01/26 Javascript
微信小程序progress组件使用详解
2018/01/31 Javascript
使用puppeteer爬取网站并抓出404无效链接
2018/12/20 Javascript
javascript实现计算指定范围内的质数示例
2018/12/29 Javascript
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
Vue实现页面添加水印功能
2019/11/09 Javascript
Echarts实现单条折线可拖拽效果
2019/12/19 Javascript
JS 图片压缩原理与实现方法详解
2020/04/29 Javascript
[01:06:18]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第二场 1月26日
2021/03/11 DOTA
基于并发服务器几种实现方法(总结)
2017/12/29 Python
python将文本分每两行一组并保存到文件
2018/03/19 Python
python中append实例用法总结
2019/07/30 Python
Python学习笔记之lambda表达式用法详解
2019/08/08 Python
解决使用Pandas 读取超过65536行的Excel文件问题
2020/11/10 Python
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
VIVOBAREFOOT赤脚鞋:让您的脚做自然的事情
2017/06/01 全球购物
美国演唱会和体育门票购买网站:Ticketnetwork
2018/10/19 全球购物
20年同学聚会邀请函
2014/02/04 职场文书
2014大学生党员评议个人总结
2014/09/22 职场文书
关于工作经历的证明书
2014/10/11 职场文书
美容院员工规章制度
2015/08/05 职场文书
调解协议书范本
2016/03/21 职场文书
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers