jQuery实现tab标签切换效果

技巧1、jQuery :eq() 选择器

定义和用法css

:eq() 选择器选取带有指定 index 值的元素。jquery

index 值从 0 开始,全部第一个元素的 index 值是 0(不是 1)。this

常常与其余元素/选择器一块儿使用,来选择指定的组中特定序号的元素。spa

技巧2、jQuery DOM 元素方法 - index() 方法

定义和用法code

index() 方法返回指定元素相对于其余指定元素的 index 位置。blog

这些元素可经过 jQuery 选择器或 DOM 元素来指定。ip

注释:若是未找到元素,index() 将返回 -1。rem

CSS部分io

 1 <style>
 2 *{
 3 margin:0;
 4 padding:0;
 5 list-style:none;
 6 }
 7 #main {
 8 width:600px;
 9 margin:200px auto;
10 }
11 #tab {
12 overflow:hidden;
13 background:#000;
14 border:1px solid #000;
15 }
16 #tab li{
17 float:left;
18 color:#fff;
19 height:30px;    
20 cursor:pointer;    
21 line-height:30px;
22 padding:0 20px;
23 }
24 #tab li.showed {
25 color:#000;
26 background:#ddd;
27 }
28 #contents {
29 border:1px solid #000;
30 border-top-width:0;
31 }
32 #contents ul {
33 line-height:150px;
34 display:none;    
35 margin:0 30px;
36 padding:10px 0;
37 }
38 </style>

HTML部分function

 1 <div id="main">
 2     <ul id="tab">
 3         <li class="showed">tab1</li>
 4         <li>tab2</li>
 5         <li>tab3</li>
 6     </ul>
 7     <div id="contents">
 8         <ul style="display:block;">
 9            <span>模块一</span>
10         </ul>
11         <ul>
12            <span>模块2、模块二</span>
13         </ul>
14         <ul>
15            <span>模块3、模块3、模块三</span>
16         </ul>
17     </div>
18 </div>

jQuery部分

 1 <script src="http://www.w3school.com.cn/jquery/jquery.js"></script>
 2 <script>
 3     $(function(){
 4         window.onload = function()
 5         {
 6             var lis = $('#tab li'); 
7
var uls = $('#contents ul'); 8 9 lis.click(function(){ 10 var li_selected = $(this);//选中的li分类 11 var num = li_selected.index();//相对于同胞元素的位置 12 lis.removeClass();//清空liCSS属性 13 li_selected.addClass('showed');//选中li添加属性 14 uls.css('display','none');//隐藏全部ul标签 15 uls.eq(num).css('display','block'); //展现选中的li所对应的ul内容 16 }) 17 } 18 }); 19 </script>

效果图以下: