[原] 基于jQuery的自动TAB选项卡实现
jQuery挺好用,我就不说啥了。
今天实现了“自动TAB”,下面分享一下。有人会问为啥不用jquery-ui,主要是页面css已经全弄好了,实在不想为ui再写一次;其次是ui毕竟是那么大个家伙,心疼我的性能。
HTML页面非常简单:
- <div class="tabBox">
- <!--选项卡菜单-->
- <ul class="tabMenu">
- <li class="on"><a>选项卡1</a></li>
- <li><a>选项卡2</a></li>
- </ul>
- <!-- 选项卡内容-->
- <div class="hide">
- 选项卡1内容
- </div>
- <div class="hide">
- 选项卡2内容
- </div>
- </div>
之后就是用jQuery自动对这个.tabBox进行处理,加上鼠标点击自动切换的功能(当然可以加上鼠标移过的选项支持,作为示例,我就没写那么完善):
- $(function () {
- //===== TAB自动切换 tabBox =====
- // <div class="tabBox">
- // <ul class="tabMenu"><li class="on"><a>选项卡1</a></li></ul>
- // <div class="hide">内容1</div>
- // </div>
- // (1) li增加"index"记录偏移量(第i项),给a增加click方法
- $('.tabBox .tabMenu li').each(function(i, li) {
- li = $(li);
- li.attr('index', i)
- .children('a').attr('href', 'javascript:;').click(function() {
- //点击项的li的class设为on
- var li_on = $(this).parent(),
- index = li_on.attr('index');
- li_on.parent().children().removeClass('on');
- li_on.addClass('on');
- //显示对应的div内容。注意get(index)返回的是DOM节点,因此需要再$()转为jQuery对象
- $(
- li_on.parent().parent().children('div').addClass('hide').get(index)
- ).removeClass('hide');
- });
- //显示现有的li class=on对应的div内容
- if (li.hasClass('on')) {
- li.children('a').click();
- }
- });
- });
©2012 便便代码人生. All Rights Reserved.
. 标签: jQuery, TAB, 选项卡遵守创作共用协议,转载请链接形式注明来自http://bianbian.org 做人要厚道