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 相关文章推荐
js异或加解密效果代码
Jun 25 Javascript
基于jquery的超简单上下翻
Apr 20 Javascript
兼容IE和FF的js脚本代码小结(比较常用)
Dec 06 Javascript
js 实现菜单上下显示附效果图
Nov 21 Javascript
javascript判断两个IP地址是否在同一个网段的实现思路
Dec 13 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
Oct 29 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
Mar 03 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
Jun 23 Javascript
Javascript实现快速排序(Quicksort)的算法详解
Sep 06 Javascript
15个值得开发人员关注的jQuery开发技巧和心得总结【经典收藏】
May 25 Javascript
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
May 12 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
May 30 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
利用PHP制作简单的内容采集器的原理分析
2008/10/01 PHP
通达OA公共代码 php常用检测函数
2011/12/14 PHP
php教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
基于laravel Request的所有方法详解
2019/09/29 PHP
Javascript remove 自定义数组删除方法
2009/10/20 Javascript
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
如何用JavaScript实现动态修改CSS样式表
2016/05/20 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
Form表单按回车自动提交表单的实现方法
2016/11/18 Javascript
jquery对象与DOM对象转化
2017/02/08 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
Angular.js中下拉框实现渲染html的方法
2017/06/18 Javascript
layui之select的option叠加问题的解决方法
2018/03/08 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
详解nuxt 微信公众号支付遇到的问题与解决
2019/08/26 Javascript
基于JQuery和DWR实现异步数据传递
2020/10/16 jQuery
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
python通过pil模块将raw图片转换成png图片的方法
2015/03/16 Python
用Python进行基础的函数式编程的教程
2015/03/31 Python
Python脚本判断 Linux 是否运行在虚拟机上
2015/04/25 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
2018/10/09 Python
python远程连接MySQL数据库
2019/04/19 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
CSS3 Backgrounds属性相关介绍
2011/05/11 HTML / CSS
计算机应用专业推荐信
2013/11/13 职场文书
公司端午节活动方案
2014/02/04 职场文书
2014年高一班主任工作总结
2014/12/05 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
试用期工作表现自我评价
2015/03/06 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书
十七岁的单车观后感
2015/06/12 职场文书
英语教学课后反思
2016/02/15 职场文书
详解GaussDB for MySQL性能优化
2021/05/18 MySQL
Mybatis-Plus进阶分页与乐观锁插件及通用枚举和多数据源详解
2022/03/21 Java/Android
【TED出品】天梯非主流开心游1700 划水骑士
2022/03/31 魔兽争霸