jquery tab插件制作实现代码


Posted in Javascript onJune 22, 2010

jquery插件的基本格式:

(function($){ 
$.fn.tab = function(options){//$.fn后面的tab是这个插件的函数名称。可以更具自己喜好进行修改 
var defaults = { 
//相关属性设置 
} 
var options = $.extend(defaults, options); 
this.each(function(){ 
//实现的功能设置 }); 
}; 
})(jQuery);

我这里是做一个tab的插件,我来完善以上代码
(function($){ 
$.fn.tab = function(options){ 
var defaults = { 
eventname:"click",//触发事件,click为点击,mousemove为鼠标移动 
titlekeyid:"tabtitle",//切换的ID 
sedcss:"sed",//选中时的CSS 
nosedcss:"nosed" //未选中时的CSS 
} 
var options = $.extend(defaults, options); 
this.each(function(){ 
var tab=$(this); 
//绑定事件 
$(tab).find("li").bind(options.eventname,function(){ 
$("#"+options.titlekeyid).find("li").attr("class", options.nosedcss); 
$(this).attr("class", options.sedcss); 
$("#"+options.titlekeyid+"info").find("div").css("display", "none"); 
$("#"+$(this).attr("id")+"info").css("display", "block"); 
//个人JS能力还是有限,感觉代码写的不好 
}); 
}); 
}; 
})(jQuery);

我想大家都用过一些jquery插件,我这里看下插件使用时的代码:
(代码二)
<script type="text/javascript"> 
$().ready(function(){ 
$("#tabtitle").tab({eventname:"mousemove",sedcss:"sed"}); 
}) 
</script>

结合以上两段代码进行说明
$("#tabtitle")表示你要使用在哪个地方,稍微了解jquery的童鞋都知道是什么意思了,不多介绍了, 
.tab 就是这个插件我们定义的函数名了,对照(代码一)中的$.fn.tab中的tab。 
.tab({eventname:"mousemove",sedcss:"sed"}); 中eventname和sedcss就是(代码一)var defaults ={};中定义的属性值了。如果我们不需要改变属性值,那么我们就使用默认的属性值,那么插件就应该这样使用 
<script type="text/javascript"> 
$().ready(function(){ 
$("#tabtitle").tab(); 
}) 
</script>

最后附上全部的页面代码:
<html> 
<head> 
<title>tab test</title> 
<script type="text/javascript" src="jquery.js"> 
</script> 
<script type="text/javascript" src="jquery.joyleetab.js"> 
</script> 
<script type="text/javascript"> 
$().ready(function(){ 
$("#tabtitle").tab({eventname:"mousemove",sedcss:"sed"}); 
}) 
</script> 
<link href="css.css" rel="stylesheet" type="text/css"> 
</head> 
<body> 
<ul id="tabtitle">//这里的ID对应$("#tabtitle")中的ID,LI的ID分别是尾部添加数字 
<li id="tabtitle1" class="sed">asdfasfd</li> 
<li id="tabtitle2">asdfasfd</li> 
<li id="tabtitle3">asdfasfd</li> 
<li id="tabtitle4">asdfasfd</li> 
<li id="tabtitle5">asdfasfd</li> 
</ul> 
<div id="tabtitleinfo">//这里的ID对ul中的ID,ID分别是尾部添加数字和"info" 
<div id="tabtitle1info" >000000</div> 
<div id="tabtitle2info" style=" display:none">111111</div> 
<div id="tabtitle3info" style=" display:none">22222</div> 
<div id="tabtitle4info" style=" display:none">33333</div> 
<div id="tabtitle5info" style=" display:none">44444</div> 
</div> 
</body> 
</html>

此文重点在说明jquery插件的制作方法,示例中代码还有要优化的地方,请见谅
源码打包下载
Javascript 相关文章推荐
javascript jQuery插件练习
Dec 24 Javascript
JavaScript 动态将数字金额转化为中文大写金额
May 14 Javascript
jquery制作select列表双向选择示例代码
Sep 02 Javascript
EasyUi datagrid 实现表格分页
Feb 10 Javascript
Angular.js中$apply()和$digest()的深入理解
Oct 13 Javascript
浅谈Vue 初始化性能优化
Aug 31 Javascript
JS实现去除数组中重复json的方法示例
Dec 21 Javascript
VSCode配置react开发环境的步骤
Dec 27 Javascript
js实时监控文本框输入字数的实例代码
Jan 18 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
Mar 12 Javascript
layui添加动态菜单与选项卡
Jul 26 Javascript
javascript实现左右缓动动画函数
Nov 25 Javascript
jquery多浏览器捕捉回车事件代码
Jun 22 #Javascript
浏览器脚本兼容 文本框中,回车键触发事件的兼容
Jun 21 #Javascript
在IE6下发生Internet Explorer cannot open the Internet site错误
Jun 21 #Javascript
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题
Jun 21 #Javascript
js操作时间(年-月-日 时-分-秒 星期几)
Jun 20 #Javascript
用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
Jun 19 #Javascript
一段批量给页面上的控件赋值js
Jun 19 #Javascript
You might like
PHP 冒泡排序算法的实现代码
2010/08/08 PHP
php基于base64解码图片与加密图片还原实例
2014/11/03 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
php版银联支付接口开发简明教程
2016/10/14 PHP
PHP多进程之pcntl_fork的实例详解
2017/10/15 PHP
laravel 去掉index.php伪静态的操作方法
2019/10/12 PHP
FireFox中textNode分片的问题
2007/04/10 Javascript
JS 拼图游戏 面向对象,注释完整。
2009/06/18 Javascript
两个比较有用的Javascript工具函数代码
2010/02/17 Javascript
jQuery示例收集
2010/11/05 Javascript
Jquery下:nth-child(an+b)的使用注意
2011/05/28 Javascript
修改好的jquery滚动字幕效果实现代码
2011/06/22 Javascript
深入理解JavaScript系列(37):设计模式之享元模式详解
2015/03/04 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
2015/10/10 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
2016/05/28 Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
2017/06/12 Javascript
JS实现多张图片预览同步上传功能
2017/06/23 Javascript
jQuery 选择器用法基础入门示例
2020/01/04 jQuery
vue+element UI实现树形表格
2020/12/29 Vue.js
[48:23]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第一局
2016/03/05 DOTA
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
python字符串加密解密的三种方法分享(base64 win32com)
2014/01/19 Python
TensorFlow中权重的随机初始化的方法
2018/02/11 Python
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
西班牙香水和化妆品购物网站:Arenal Perfumerías
2019/03/01 全球购物
Agoda中文官网:安可达(低价预订全球酒店)
2021/01/18 全球购物
销售工作岗位职责
2013/12/24 职场文书
财务管理专业自荐信范文
2013/12/24 职场文书
英语生日邀请函
2014/01/23 职场文书
手工社团活动方案
2014/02/17 职场文书
委托书范本
2014/04/02 职场文书
2015年学校体育工作总结
2015/04/22 职场文书
《颐和园》教学反思
2016/02/19 职场文书
2016年第二十届“母亲节暨幸福工程救助贫困母亲活动日”活动总结
2016/04/06 职场文书
特别篇动画《总之就是非常可爱 ~制服~》PV公开,2022年夏季播出
2022/04/04 日漫