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 相关文章推荐
从sohu弄下来的flash中展示图片的代码
Apr 27 Javascript
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
May 06 Javascript
ajax不执行success回调而是执行了error回调
Dec 10 Javascript
jquery复选框checkbox实现删除前判断
Apr 20 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
Sep 04 Javascript
Bootstrap在线电子商务网站实战项目5
Oct 14 Javascript
微信小程序中单位rpx和rem的使用
Dec 06 Javascript
js实现手机拍照上传功能
Jan 17 Javascript
Angular.JS中的指令引用template与指令当做属性详解
Mar 30 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
Feb 28 Javascript
vue 插件的方法代码详解
Jun 06 Javascript
js编写简易的计算器
Jul 29 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
一个MYSQL操作类
2006/11/16 PHP
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
PHP中实现接收多个name相同但Value不相同表单数据实例
2015/02/03 PHP
深入讲解PHP的Yii框架中的属性(Property)
2016/03/18 PHP
PHP带节点操作的无限分类实现方法详解
2016/11/09 PHP
Laravel5.4简单实现app接口Api Token认证方法
2019/08/29 PHP
js获取多个tagname的节点数组
2013/09/22 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
2013/12/04 Javascript
jquery如何通过name名称获取当前name的value值
2013/12/20 Javascript
多个jQuery版本共存的处理方案
2015/03/17 Javascript
利用jQuery对无序列表排序的简单方法
2016/10/16 Javascript
vue.js从安装到搭建过程详解
2017/03/17 Javascript
彻底揭秘keep-alive原理(小结)
2019/05/05 Javascript
解析原来浏览器原生支持JS Base64编码解码
2019/08/12 Javascript
JQuery常用简单动画操作方法回顾与总结
2019/12/07 jQuery
JSON 入门教程基础篇 json入门学习笔记
2020/09/22 Javascript
vue实现验证用户名是否可用
2021/01/20 Vue.js
node.js文件的复制、创建文件夹等相关操作
2021/02/05 Javascript
[40:03]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
scrapy爬虫实例分享
2017/12/28 Python
python快速建立超简单的web服务器的实现方法
2018/02/17 Python
使用Python AIML搭建聊天机器人的方法示例
2018/07/09 Python
python如何实现异步调用函数执行
2019/07/08 Python
Python使用random模块生成随机数操作实例详解
2019/09/17 Python
python标准库OS模块函数列表与实例全解
2020/03/10 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
Django返回HTML文件的实现方法
2020/09/17 Python
canvas简易绘图的实现(海绵宝宝篇)
2018/07/04 HTML / CSS
Optimalprint加拿大:在线打印服务
2020/04/03 全球购物
化工机械应届生求职信
2013/11/04 职场文书
智能电子应届生求职信
2013/11/10 职场文书
邮政员工辞职信
2014/01/16 职场文书
员工评语大全
2014/01/19 职场文书
成品仓库管理员岗位职责
2015/04/09 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
党员干部学习三严三实心得体会
2016/01/05 职场文书