通过上一个基础篇我们知道插件的格式,这次我来写一个tab插件

$(function() {
$.fn.插件名称 = function(options) {
var defaults = {
Event : "click", //触发响应事件
msg : "Holle word!" //显示内容
};
var options = $.extend(defaults,options);
var $this = $(this); //当然响应事件对象
//功能代码部分
//绑定事件
$this.live(options.Event,function(e){
alert(options.msg);
});
}
});

直接贴代码:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css" media="screen">
*{margin:0;padding: 0;}
li{list-style: none}
.lee_ul{overflow: hidden;zoom:1;}
.lee_ul1{overflow: hidden;zoom:1;}
li{width: 100px;height: 30px;float: left;}
li.active{background: red;}
li.current{background: red;}
.lee_main div{display: none;background: #ccc;width: 300px;}
.lee_main .active{display: block;}
.lee_main1 div{display: none;background: #ccc;width: 300px;}
.lee_main1 .current{display: block;}
</style>
<script type="text/javascript" src="jquery-1.8.3.min.js"></script>
<script type="text/javascript">
;(function($){ $.fn.lee_tab=function(options){
var defaults={
//各种参数,各种熟悉
activeClass:'active',
tabNav:'.lee_ul>li',
tabCon:'.lee_main>div',
eventType:'click'
} var options=$.extend(defaults,options); this.each(function(){
//实现功能的代码
var _this=$(this);
_this.find(options.tabNav).on(options.eventType,function(){
$(this).addClass(options.activeClass).siblings().removeClass(options.activeClass);
var index=$(this).index();
_this.find(options.tabCon).eq(index).show().siblings().hide();
}); }); return this;
alert(this);
} })(jQuery); $(function(){
$('.lee_tab').lee_tab(); $('.lee_tab2').lee_tab({
activeClass:'current',
tabNav:'.lee_ul1>li',
tabCon:'.lee_main1>div',
eventType:'mouseover'
});
})
</script>
</head>
<body>
<div class="lee_tab">
<ul class="lee_ul">
<li class="active">1</li>
<li>2</li>
<li>3</li>
</ul>
<div class="lee_main">
<div class="active">11</div>
<div>22</div>
<div>33</div>
</div>
</div>
<div style="clear:both;"></div>
<div class="lee_tab2">
<ul class="lee_ul1">
<li class="current">1</li>
<li>2</li>
<li>3</li>
</ul>
<div class="lee_main1">
<div class="current">11</div>
<div>22</div>
<div>33</div>
</div>
</div>
</body>
</html>

学会自己写jQuery插件(二)---自己写的tab插件的更多相关文章

  1. jQuery 插件分享-非常优秀的tab插件tabulous- 学徒帮

    干货jquery插件分享之tab. tab 选项卡切换,在日常开发中也是一种比较常见的呈现控件,今天这个tab控件效果还是蛮喜欢的,推荐给大家有用到的场景可以试试: tabulous.js A jQu ...

  2. 10分钟学会写Jquery插件

    最近很多网友说jquery插件是什么啊?怎么写的啊?我不会写啊?   一大堆的问题一时都不知道怎么回答他们,个人认为是网友们把问题复杂化了. 其实就是把一些常用.实用.通用的功能封装起来而以,简单的来 ...

  3. 学会自己写jQuery插件(一)---基础

    第一步:定义插件 $(function() { $.fn.插件名称 = function(options) { var defaults = { Event : "click", ...

  4. 自己写jquery插件之模版插件高级篇(一)

    需求场景 最近项目改版中,发现很多地方有这样一个操作(见下图gif动画演示),很多地方都有用到.这里不讨论它的用户体验怎么样. 仅仅是从复用的角度,如果每个页面都去写text和select元素,两个b ...

  5. 锋利的jQuery--编写jQuery插件(读书笔记五)[完结篇]

    1.表单验证插件Validation   2.表单插件Form   3.动态事件绑定插件livequery 可以为后来的元素绑定事件   类似于jQuery中的live()方法     4.jQuer ...

  6. 什么?你还不会写JQuery 插件

    前言 如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论 ...

  7. 写JQuery 插件 什么?你还不会写JQuery 插件

    http://www.cnblogs.com/Leo_wl/p/3409083.html 前言 如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui ...

  8. 写jQuery插件

    如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论下jq ...

  9. 用实例一步步教你写Jquery插件

    最近Web应用程序中越来越多地用到 了JQuery等Web前端技术.这些技术框架有效地改善了用户的操作体验,同时也提高了开发人员构造丰富客户 端UI的效率.JQuery本身提供了丰富的操作,但是,有时 ...

随机推荐

  1. Linux内核编译安装

    1. .config 复制一份当前系统编译时的配置,在/usr/src目录下 $ ls /usr/src/ linux-headers-4.10.0-35 linux-headers-4.8.0-36 ...

  2. 小学生都能理解的原生js——call

    关于 js 作用域和执行上下文就不过多介绍了,本人也是在网上搜集了各种教程才逐渐理解,以下简单理解并说下call 的作用 首先简单理解下执行上下文有关概念,this 的指向就代表当前执行环境的上下文 ...

  3. 【BZOJ 2006】2006: [NOI2010]超级钢琴(RMQ+优先队列)

    2006: [NOI2010]超级钢琴 Time Limit: 20 Sec  Memory Limit: 552 MBSubmit: 2792  Solved: 1388 Description 小 ...

  4. 【容斥原理】【推导】【树状数组】Gym - 101485G - Guessing Camels

    题意:给你三个1~n的排列a,b,c,问你在 (i,j)(1<=i<=n,1<=j<=n,i≠j),有多少个有序实数对(i,j)满足在三个排列中,i都在j的前面. 暴力求的话是 ...

  5. Cookie&Session会话技术

    一.会话技术简介 1.存储客户端的状态 由一个问题引出今天的内容,例如网站的购物系统,用户将购买的商品信息存储到哪里?因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并不知道该客 ...

  6. bzoj 4780: [Usaco2017 Open]Modern Art 2

    4780: [Usaco2017 Open]Modern Art 2 Time Limit: 10 Sec  Memory Limit: 128 MB Description Having becom ...

  7. 为什么MyISAM会比Innodb的查询速度快

    INNODB在做SELECT的时候,要维护的东西比MYISAM引擎多很多: 1)数据块,INNODB要缓存,MYISAM只缓存索引块,  这中间还有换进换出的减少: 2)innodb寻址要映射到块,再 ...

  8. Colorful Lecture Note

    Colorful Lecture Note 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi is writing an algorithm lectu ...

  9. undefined null 各种值比较(面试题)

    undefined和null与任何有意义的值比较返回的都是false,但是null与undefined之间互相比较返回的是true. console.log(null == false); //fal ...

  10. 普通主板设置BIOS实现电脑插电自动启动

    说明: 1.为什么要实现这种功能,很多时候在民间都基本用普通PC来做小型服务器,公司的私服等等,而这些普通PC在民用电环境中经常会停电,一停就会导致服务器不能自动来电重启,所以这个功能来点开机是必须的 ...