bootstrap源码分析之tab(选项卡)
Posted Sam先生的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bootstrap源码分析之tab(选项卡)相关的知识,希望对你有一定的参考价值。
实现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.1、对导航元素增加aria-expanded属性,标记此元素是否处于展开状态
2.2、利用reflow机制,用获取offsetWidth属性来实现部分重绘
以上是关于bootstrap源码分析之tab(选项卡)的主要内容,如果未能解决你的问题,请参考以下文章
Angular JS UI Bootstrap 选项卡 (ui.bootstrap.tabs) 导致页面在选择时滚动/跳转