通过上一个基础篇我们知道插件的格式,这次我来写一个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. 使用Nginx实现TCP反向代理

    Nginx 在1.9.0版本发布以前如果要想做到基于TCP的代理及负载均衡需要通过打名为 nginx_tcp_proxy_module 的第三方patch来实现,该模块的代码托管在github上网址: ...

  2. vars 变量预解析

    JavaScript中,你可以在函数的任何位置声明多个var语句,并且它们就好像是在函数顶部声明一样发挥作用,这种行为称为 hoisting(悬置/置顶解析/预解析).当你使用了一个变量,然后不久在函 ...

  3. 关于在vue里使用脚手架空行、空格会报错的问题

    第一种方法: 重新用脚手架安装项目,在命令行里选择Use ESLint to lint your code?这项是输入  n 第二种方法: 找到build文件夹下的 webpack.base.conf ...

  4. 转:XSS知识大总结

    转:https://www.jianshu.com/p/75a3d9332b8c XSS知识大总结 2016.10.28 21:05* 字数 1332 阅读 961评论 2喜欢 13 XSS-即Cro ...

  5. linux网络管理----网络命令

    1 Linux网络命令之网络环境查看命令  ifconfig  2 Linux网络命令之网络测试命令  telnet 基本已经被ssh替代了,telnet是明文传递,不安全

  6. CentOS 7中以runfile形式安装CUDA 9.0

    GPU: NVIDIA Tesla K40C Enter the 'root' mode: $ su - 1. Pre-installation 1.1 Verify you have a CUDA- ...

  7. TRUNCATE delete

    The operation cannot be rolled back. DROP and TRUNCATE are DDL commands, whereas DELETE is a DML com ...

  8. 矩阵&行列式

    # 代数 排列 对换,对于一个排列操作,对于一个偶排列一次对换之后变为奇排列 反之变为偶排列 行列式 N阶行列式室友N^2个数aij(i,j = 1,2,3,...n) 行列式的数=\(\sum_ { ...

  9. [BZOJ3139][HNOI2013]比赛(搜索)

    3139: [Hnoi2013]比赛 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 1439  Solved: 719[Submit][Status] ...

  10. Ubuntu 无线驱动问题

    最近一次更新系统后开机发现电脑只能连有线网络连不上无线网络.我平时都是连无线网络,没有买网线.所以查了下无线驱动相关问题资料,发现是由于更新系统造成无线网卡驱动莫名不见了.刚开始还以为是电脑将无线禁用 ...