********************************************************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()
});
												

jQuery封装的选项卡方法的更多相关文章

  1. jquery封装的选项卡

    ul,li,div{ margin:; padding:;} ul,li{ list-style:none;} .tab_wrap{ width:450px; margin: auto 50px; o ...

  2. JQuery封装ajax的方法

    1.$.post方法 $.post(url[,data][,callback][,type]) url:请求的后台程序地址 data:发送到后台的数据 callback:载入成功时回调函数,该函数参数 ...

  3. Jquery封装ajax

    Jquery封装ajax   Load方法     <!-- 将jquery.js导入进来 -->     <script type="text/javascript&qu ...

  4. 封装jQuery Validate扩展验证方法

    一.封装自定义验证方法-validate-methods.js /***************************************************************** j ...

  5. jquery封装的方法

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  6. jquery插件之选项卡

    jQuery插件编写 首先来一个简拓展jQuery对象的方法 <body > <p>23</p> <script src="js/jquery-1. ...

  7. jquery编写插件的方法

     版权声明:作者原创,转载请注明出处! 编写插件的两种方式: 1.类级别开发插件(1%) 2.对象级别开发(99%) 类级别的静态开发就是给jquery添加静态方法,三种方式 1.添加新的全局函数 2 ...

  8. jquery 中一些 特殊方法 的特殊使用 一览表

    cnblogs的页面, 一种是管理页面, 是随笔的列表 a full list of essays. 另一种是 首页. 要搜索文档的话, 就使用 "首页"的那种方式. 一个jque ...

  9. jquery 绑定事件的方法

    jQuery中提供了四种绑定事件的方法,分别是bind.live.delegate.on,对应的解除监听的函数分别是unbind.die.undelegate.off: 一.on()方法(首选方法) ...

随机推荐

  1. Java基础学习总结(79)——Java本地接口JNI详解

    对于java程序员来说,java语言的好处和优点,我想不用我说了,大家自然会说出很多一套套的.但虽然我们作为java程序员,但我们不得不承认java语言也有一些它本身的缺点.比如在性能.和底层打交道方 ...

  2. 抽象类和接口有什么区别---https://blog.csdn.net/csdn_aiyang/article/details/71171886

    https://blog.csdn.net/csdn_aiyang/article/details/71171886 概念]   抽象类.具体类是相对的,并非绝对的.抽象是一种概念性名词,具体是一种可 ...

  3. [luoguP1156] 垃圾陷阱(DP)

    传送门 先按照时间排序 f[i][j] 表示 前i个物品高度为j时所剩余的最大能量 显然每个物品有堆和吃两种选择 状态转移看代码 代码 #include <cstdio> #include ...

  4. Self Centos + Windows server 2016

    Set up by Derek: 2019-1-25 登陆个人物理机: license  60天Free , 如果过期,就在 VMware ESXI 6.5.0的黑屏界面去reset. https:/ ...

  5. Centos7: 设置UTC时区

    timedatectl set-timezone UTC

  6. HDU 1421 搬寝室 (线性dp 贪心预处理)

    搬寝室 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  7. Codeforces Round #273 (Div. 2) B . Random Teams 贪心

    B. Random Teams   n participants of the competition were split into m teams in some manner so that e ...

  8. 浅析Java开发模式—Model1、Model2和三层

    "解耦"的思想一直是我们倡导的,但在实际项目中怎样去做?这是需要我们去好好思考的.下面以Model1.Model2.三层为切入点,对比下去了解解耦的思想. Model1 使用JSP ...

  9. Codeforces Round #313 A. Currency System in Geraldion(简单题)

    A. Currency System in Geraldion time limit per test 2 seconds memory limit per test 256 megabytes in ...

  10. Caused by: java.lang.NullPointerException: Attempt to write to field 'int android.app.Fragment.mNextAnim' on a null object reference

    原因fragment必须先add(),才能remove(),故remove前先做判空操作 参考:http://www.cnblogs.com/hixin/p/4427276.html