浅谈bootstrap源码分析之tab(选项卡)


Posted in Javascript onJune 06, 2016

实现tab选项卡的应用,此插件相对比较简单

源码文件:

tab.js

实现原理

1、单击一个元素时,首先将原来高亮的元素取消

2、然后给被单击元素进行高亮

3、如果单击元素是下拉框中某个选项,则选中本身,还要选中下拉框

5、如果定义了动画,先执行动画,然后回调

源码分析:

1、Show方法,是在单击一个元素的时候触发,会触发如下四个事件

1.1、Hiden.bs.tab:隐藏上一个元素

1.2、Show.bs.tab:显示当前元素

1.3、Hideen.bs.tab:隐藏上一个元素完成

1.4、Shown.bs.tab:显示当前元素完成

1.5、Hiden/show事件源码:

var $previous = $ul.find('.active:last a')
  var hideEvent = $.Event('hide.bs.tab', {
   relatedTarget: $this[0]
  })
  var showEvent = $.Event('show.bs.tab', {
   relatedTarget: $previous[0]
})

2、Active:激活当前对象

2.1、对导航元素增加aria-expanded属性,标记此元素是否处于展开状态

2.2、利用reflow机制,用获取offsetWidth属性来实现部分重绘

以上这篇浅谈bootstrap源码分析之tab(选项卡)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 克隆数组最简单的方法
Feb 12 Javascript
无缝滚动改进版支持上下左右滚动(封装成函数)
Dec 04 Javascript
node.js中的http.response.getHeader方法使用说明
Dec 14 Javascript
JavaScript 实现完美兼容多浏览器的复制功能代码
Apr 28 Javascript
javascript常见数据验证插件大全
Aug 03 Javascript
实例解析jQuery中proxy()函数的用法
May 24 Javascript
jQuery日程管理插件fullcalendar使用详解
Jan 07 Javascript
js原生方法被覆盖,从新赋值原生的方法
Jan 02 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
Mar 28 Javascript
在微信小程序里使用watch和computed的方法
Aug 02 Javascript
Vue v-bind动态绑定class实例方法
Jan 15 Javascript
利用原生JS实现欢乐水果机小游戏
Apr 23 Javascript
浅谈bootstrap源码分析之scrollspy(滚动侦听)
Jun 06 #Javascript
jquery插件方式实现table查询功能的简单实例
Jun 06 #Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
Jun 06 #Javascript
全面解析Bootstrap中scrollspy(滚动监听)的使用方法
Jun 06 #Javascript
JavaScript 数组中最大最小值
Jun 05 #Javascript
使用three.js 画渐变的直线
Jun 05 #Javascript
jquery判断input值不为空的方法
Jun 05 #Javascript
You might like
用PHP控制用户的浏览器--ob*函数的使用说明
2007/03/16 PHP
PHP 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
2016/02/19 PHP
CI框架的安全性分析
2016/05/18 PHP
关于恒等于(===)和非恒等于(!==)
2007/08/20 Javascript
复制小说文本时出现的随机乱码的去除方法
2010/09/07 Javascript
Nodejs如何复制文件
2016/03/09 NodeJs
纯JS前端实现分页代码
2016/06/21 Javascript
Angular2.js实现表单验证详解
2017/06/23 Javascript
JavaScript简单实现合并两个Json对象的方法示例
2017/10/16 Javascript
小程序实现多列选择器
2019/02/15 Javascript
移动端自适应flexible.js的使用方法(不用三大框架,仅写一个单html页面使用)推荐
2019/04/02 Javascript
Vue中的循环及修改差值表达式的方法
2019/08/29 Javascript
js编写简易的计算器
2020/07/29 Javascript
如何在vue中使用HTML 5 拖放API
2021/01/14 Vue.js
[45:16]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第一场 12.12
2020/12/16 DOTA
基于python的字节编译详解
2017/09/20 Python
Django视图之ORM数据库查询操作API的实例
2017/10/27 Python
使用python 和 lint 删除项目无用资源的方法
2017/12/20 Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
2018/03/19 Python
Python通过属性手段实现只允许调用一次的示例讲解
2018/04/21 Python
python pandas 对时间序列文件处理的实例
2018/06/22 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
2019/08/09 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
2019/08/13 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
2019/08/30 Python
wxPython色环电阻计算器
2019/11/18 Python
Python Selenium实现无可视化界面过程解析
2020/08/25 Python
基于Python实现天天酷跑功能
2021/01/06 Python
使用HTML5的链接预取功能(link prefetching)给网站提速
2012/12/13 HTML / CSS
html5实现移动端适配完美写法
2017/11/16 HTML / CSS
会计电算化专业应届大学生求职信
2013/10/22 职场文书
化验室技术员岗位职责
2013/12/24 职场文书
银行招聘自荐信
2015/03/06 职场文书
小学教师工作总结2015
2015/04/07 职场文书
计算机实训心得体会
2016/01/14 职场文书
2016学雷锋优秀志愿者事迹材料
2016/02/25 职场文书