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 做人要厚道