Jquery tab选项卡的实现代码

发布时间:2020-06-19编辑:脚本学堂
分享一例由jquery实现的tab选项卡代码,使用Jquery中的children()方法,获取父类中的直接子元素。有需要的朋友参考下吧。

jquery封装tab选项卡功能,用到了Jquery中的children()这个方法来获取父类中直接子元素。

2,html部分
 

复制代码 代码示例:
<html>
<head><title>Jquery tab选项卡-www.jb200.com</title>
</head>
<body>
<style type="text/css">
ul,li,div{ margin:0; padding:0;} 
ul,li{ list-style:none;} 
.tabWrap{ width:450px; margin:0 auto 50px; overflow:hidden;} 
.tab{ background:#F93; overflow:hidden; width:450px;} 
.tab li{ float:left; width:150px; color:#fff; text-align:center; cursor:pointer; height:22px; line-height:22px;} 
.tab li.on{background:#F60;} 
.tabContent .p-content{ padding:20px; border:1px solid #ddd; border-top:0 none; } 
.tabContent .hide{ display:none;} 
</style>
<script type="text/javascript" src="/jquery/1.5.1/jquery.min.js"></script>
    </head>
    <body>
        <div class="tabWrap">
        <ul class="tab">
            <li>选项卡1</li>
            <li>选项卡2</li>
            <li>选项卡3</li>
        </ul>
        <div class="tabContent">
            <div class="p-content">1111</div>
            <div class="p-content hide">222</div>
            <div class="p-content hide">3333</div>
        </div>
    </div>
     
    <br/>
    <br/>
    <div class="tabWrap">
        <ul class="tab">
            <li>选项卡1</li>
            <li>选项卡2</li>
            <li>选项卡3</li>
        </ul>
        <div class="tabContent">
            <div class="p-content">1111</div>
            <div class="p-content hide">222</div>
            <div class="p-content hide">3333</div>
        </div>
    </div>

2,js代码部分
 

复制代码 代码示例:
<script type="text/javascript"> 
    $(function(){ 
        function tabs(tabMenu,on,tabContent){ 
        $(tabContent).each(function(){ 
            $(this).children().eq(0).show();     
        });  
        $(tabMenu).each(function(){ 
            $(this).children().eq(0).addClass(on);   
        }); 
        $(tabMenu).children().hover(function(){ 
            $(this).addClass(on).siblings().removeClass(on); 
            var index = $(tabMenu).children().index(this); 
            $(tabContent).children().eq(index).show().siblings().hide();     
        }); 
    } 
    tabs(".tab","on",".tabContent"); 
}) 
</script>

直接引用以上的js代码即可。

js代码的实现思路:
1,function tabs(tabMenu,on,tabContent){},使用这个函数来封装js。
调用方式:tabs(".tab","on",".tabContent"),其中tabMenu是指li外层ul,on是指当鼠标移上去li,呈现一个背景,tabContent 是指content的外层!
2,接着使用each进行遍历,找到第一个子元素li增加一个类on,第一个content让她们显示!
当鼠标移到任何一个li时,让当前的li增加一个类on,同辈元素删除类on,然后索引当前的li,看是第几个,最后找出content,如果索引值和li的索引值相同的话则显示内容,将同辈元素隐藏掉。