jQuery封装的选项卡方法

   ********************************************************2018/3/15更新*********************************************************

           $('.left_sub p').on('click', function () {
                var name = $(this).attr('name');
                $('.left_sub p').removeClass('active');
                $(this).addClass('active');
                $('.p_config').removeClass('active');
                $('.' + name).addClass('active');
            });

下面封装的方法 属于原创 如需转载 请注明出处  http://www.cnblogs.com/supershare/p/6687813.html

PS:方法中主要是采取了ul li结构 ,封装成方法以后可以在很多地方复用,希望对大家有所帮助

HTML部分

<div class="tab-container">
<div class="tab-navi">
<ul>
<li>N1</li>
<li>N2</li>
</ul>
</div>
<div class="tab-body">
<ul>
<li>
<div class="tab-container">
<div class="tab-navi">
<ul>
<li>N1-1</li>
<li>N2-2</li>
</ul>
</div>
<div class="tab-body">
<ul>
<li>内容1-1</li>
<li>内容2-2</li>
</ul>
</div>
</div>
</li>
<li>内容2</li> </ul> </div></div>
CSS部分来了
CSS部分CSS部分
.tab-navi>ul{
border:1px solid black;
margin: 0;
padding: 0;
}
.tab-navi li{
display: inline-block;
background-color: grey;
cursor: pointer;
}
li.active
{
color: red;
}

.tab-body>ul{
border:1px solid black;
margin: 0;
padding: 0;
}

重点的封装方法的部分

(function ($) {
$.fn.myTab = function () {
//这里的this 指的是 jquery的一个数组 谁调用就是谁
return this.each(function(){
var $navLis = $(this).find(">.tab-navi>ul>li");//获取导航菜单的li数组
var $conLis = $(this).find(">.tab-body>ul>li");
//初始化 下面这三行可以封装成一个方法
$navLis.eq(0).addClass("active");
$conLis.hide();
$conLis.eq(0).show();

$navLis.on('click',function(){
$navLis.removeClass('active');
$(this).addClass('active');
var ind=$(this).index();
$conLis.hide();
$conLis.eq(ind).show();
});
});
}
})(jQuery);




PS 重点部分来了(记得在使用的时候在页面中添加下面引用方法哦)
$(function(){
$(".tab-container").myTab()
});

原文地址:https://www.cnblogs.com/supershare/p/6687813.html