强大的jquery-制作选项卡
最近在学习jquery,特地把今天写的一个选项卡源码贴出来。只是做只是梳理,大神们请不要吐槽,如果有更好的方法,欢迎指点。谢谢。
css
<style>
#tab div{ 200px; height:200px; border:#33F 1px solid; display:none}
.active{ background:red}
</style>
引入jquery
<script type="text/javascript" src="jquery-1.11.1.min.js"></script>
1、原生的js
1 window.onload=function(){
2 var oDiv=document.getElementById('tab');
3 var oInput=oDiv.getElementsByTagName('input');
4 var Childdiv=oDiv.getElementsByTagName('div');
5 //debugger;
6 for(var i=0;i<oInput.length;i++)
7 {
8 oInput[i].index=i;
9 oInput[i].onclick =function(){
10 for(var i=0;i<oInput.length;i++){
11 oInput[i].className='';
12 Childdiv[i].style.display='none';
13 }
14 this.className='active';
15 Childdiv[this.index].style.display='block';
16 };
17 }
18 }
2、jquery
1 $(function(){
2 $('#tab').find('input').click(function(){
3 $('#tab').find('input').attr('class','');
4 $('#tab').find('div').css('display','none');
5 $(this).attr('class','active');
6 $('#tab').find('div').eq($(this).index()).css('display','block');
7 });
8 });
3、链式jquery
1 $(function(){
2 $('#tab').find('input').click(function(){
3 $(this).attr('class','active').siblings().attr('class','').parent().find('div').eq($(this).index()).css('display','block').siblings().css('display','');
4 });
5 });
html主体:
<div id='tab'> <input class="active" type="button" value="1" /> <input type="button" value="2" /> <input type="button" value="3" /> <div style="display:block">第一个tab</div> <div>第二个tab</div> <div>第三个tab</div> </div>
