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的索引值相同的话则显示内容,将同辈元素隐藏掉。