浅谈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 相关文章推荐
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
Mar 18 Javascript
js特殊字符转义介绍
Nov 05 Javascript
JavaScript中的Math.sin()方法使用详解
Jun 15 Javascript
浅谈JavaScript 的执行顺序
Aug 07 Javascript
js获取页面及个元素高度、宽度的代码
Apr 26 Javascript
jQuery轮播图效果精简版完整示例
Sep 04 Javascript
Angular通过angular-cli来搭建web前端项目的方法
Jul 27 Javascript
js模块加载方式浅析
Aug 12 Javascript
js 毫秒转天时分秒的实例
Nov 17 Javascript
jquery自定义显示消息数量
Dec 19 jQuery
详解Vue+axios+Node+express实现文件上传(用户头像上传)
Aug 10 Javascript
js中getter和setter用法实例分析
Aug 14 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作的文本留言本的例子(三)
2006/10/09 PHP
使用php重新实现PHP脚本引擎内置函数
2007/03/06 PHP
php生成图片验证码
2015/06/09 PHP
php实现mysql数据库分表分段备份
2015/06/18 PHP
CodeIgniter分页类pagination使用方法示例
2016/03/28 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
JavaScript在XHTML中的用法详解
2013/04/11 Javascript
jQuery+Ajax实现无刷新分页
2015/10/30 Javascript
Angular设置title信息解决SEO方面存在问题
2016/08/19 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
2016/12/13 Javascript
Vue中添加过渡效果的方法
2017/03/16 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
vue组件中使用props传递数据的实例详解
2018/04/08 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
深入浅析Vue.js 中的 v-for 列表渲染指令
2018/11/19 Javascript
vue 实现input表单元素的disabled示例
2019/10/28 Javascript
vue 根据选择的月份动态展示日期对应的星期几
2021/02/06 Vue.js
深入探究Python中变量的拷贝和作用域问题
2015/05/05 Python
Python的Django框架中if标签的相关使用
2015/07/15 Python
详解Python中表达式i += x与i = i + x是否等价
2017/02/08 Python
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
python3 kmp 字符串匹配的方法
2018/07/07 Python
解决pycharm工程启动卡住没反应的问题
2019/01/19 Python
浅谈Python小波分析库Pywavelets的一点使用心得
2019/07/09 Python
Python数据存储之 h5py详解
2019/12/26 Python
python如何查看安装了的模块
2020/06/23 Python
美国电力供应商店/电气批发商:USESI
2018/10/12 全球购物
韩国美国时尚服装和美容在线全球市场:KOODING
2018/11/07 全球购物
请解释流与文件有什么不同
2016/07/29 面试题
建筑工地质量标语
2014/06/12 职场文书
党建目标管理责任书
2014/07/25 职场文书
个人贷款授权委托书样本
2014/10/07 职场文书
广告公司文案策划岗位职责
2015/04/14 职场文书
代理词怎么写
2015/05/25 职场文书
Python+SeaTable实现计算两个日期间的工作日天数
2022/07/07 Python