Bootstrap3.0学习教程之JS折叠插件


Posted in Javascript onMay 27, 2016

过渡效果

关于过渡效果

对于简单的过渡效果,只需将transition.js和其它JS文件一起引入即可。如果你使用的是编译(或压缩)好的bootstrap.js文件,就无需再单独将其引入了。

What's inside

Transition.js是针对 is a basic helper for transitionEnd事件的一个基本助手工具,也是对CSS过渡效果的模拟。它被其它插件用来检测当前浏览器对CSS过渡效果是否支持。

折叠

对为支持折叠功能的组件,例如accordions和导航,赋予基本样式和灵活的支持。

插件依赖

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

案例

使用折叠插件,通过扩展panel组件从而构建了一个简单的accordion组件。

先来看一下效果。

Bootstrap3.0学习教程之JS折叠插件

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

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

Bootstrap3.0学习教程之JS折叠插件

用法

折叠插件通过几个简单的类来控制样式

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

来看一下上面的效果

Bootstrap3.0学习教程之JS折叠插件

方法

赋予页面元素可折叠功能。接受一个可选的object作为参数。

$("#demo").collapse({toggle: false})

这样元素在初始化的时候会是展开的。

1.collapse('toggle')展示或隐藏一个可折叠的页面元素。

2.collapse('show')展示一个可折叠页面元素。

3.collapse('hide')隐藏一个可折叠页面元素。

事件

Bootstrap中的折叠插件对外暴露了一组可以监听的事件。

Bootstrap3.0学习教程之JS折叠插件

$('#demo').on('hidden.bs.collapse', function () {
alert(1);
})

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

Javascript 相关文章推荐
HTML中不支持静态Expando的元素的问题
Mar 08 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
Dec 07 Javascript
Javascript中自动切换焦点实现代码
Dec 15 Javascript
js实现二级菜单渐隐显示
Nov 03 Javascript
js窗口震动小程序分享
Nov 28 Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
Jan 06 Javascript
教你5分钟学会用requirejs(必看篇)
Jul 25 Javascript
基于vue-cli创建的项目的目录结构及说明介绍
Nov 23 Javascript
基于Vue实现拖拽功能
Jul 29 Javascript
JavaScript中构造函数与原型链之间的关系详解
Feb 25 Javascript
深入了解JS之作用域和闭包
Jun 16 Javascript
vue实现前端列表多条件筛选
Oct 26 Javascript
全面解析多种Bootstrap图片轮播效果
May 27 #Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
May 27 #Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
May 27 #Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
May 27 #Javascript
非常酷炫的Bootstrap图片轮播动画
May 27 #Javascript
Bootstrap安装环境配置教程分享
May 27 #Javascript
Bootstrap布局方式详解
May 27 #Javascript
You might like
杏林同学录(六)
2006/10/09 PHP
珊瑚虫IP库浅析
2007/02/15 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
2014/09/22 PHP
php+ajax实现无刷新分页
2015/11/18 PHP
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
JavaScript Event学习第七章 事件属性
2010/02/07 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
2016/04/17 Javascript
JS实现数字格式千分位相互转换方法
2016/08/01 Javascript
jQuery展示表格点击变色、全选、删除
2017/01/05 Javascript
Async/Await替代Promise的6个理由
2019/06/15 Javascript
vue 路由守卫(导航守卫)及其具体使用
2020/02/25 Javascript
深入分析jQuery.one() 函数
2020/06/03 jQuery
Vue实现购物小球抛物线的方法实例
2020/11/22 Vue.js
如何利用nodejs自动定时发送邮件提醒(超实用)
2020/12/01 NodeJs
在Python中执行系统命令的方法示例详解
2017/09/14 Python
Python实现图片滑动式验证识别方法
2017/11/09 Python
transform python环境快速配置方法
2018/09/27 Python
python matplotlib拟合直线的实现
2019/11/19 Python
python线程join方法原理解析
2020/02/11 Python
Python+Kepler.gl实现时间轮播地图过程解析
2020/07/20 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
Grow Gorgeous美国官网:只要八天,体验唤醒毛囊后新生的茂密秀发
2018/06/04 全球购物
一份比较全的PHP面试题
2016/07/29 面试题
c++工程师面试问题
2013/08/04 面试题
什么是跨站脚本攻击
2014/12/11 面试题
考博专家推荐信模板
2013/12/02 职场文书
函授药学自我鉴定
2014/02/07 职场文书
《和田的维吾尔》教学反思
2014/04/14 职场文书
抗洪救灾先进集体事迹材料
2014/05/26 职场文书
应届毕业生求职信
2014/05/26 职场文书
幼儿园教师节活动总结
2015/03/23 职场文书
详解Go与PHP的语法对比
2021/05/29 PHP
mysql 如何获取两个集合的交集/差集/并集
2021/06/08 MySQL
spring注解 @PropertySource配置数据源全流程
2022/03/25 Java/Android
VUE解决跨域问题Access to XMLHttpRequest at
2022/05/06 Vue.js