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、Active:激活当前对象

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

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