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下操作css的float属性的特殊写法
Aug 22 Javascript
jQuery 连续列表实现代码
Dec 21 Javascript
jquery multiSelect 多选下拉框
Jul 09 Javascript
JQuery扩展插件Validate 2通过参数设置验证规则
Sep 05 Javascript
15个款优秀的 jQuery 图片特效插件推荐
Nov 21 Javascript
html5+javascript制作简易画板附图
Apr 25 Javascript
原生javascript获取元素样式
Dec 31 Javascript
JavaScript中cookie工具函数封装的示例代码
Oct 11 Javascript
微信小程序 http请求的session管理
Jun 07 Javascript
JavaScript如何对图片进行黑白化
Apr 10 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
Jul 05 jQuery
layui问题之自动滚动二级iframe页面到指定位置的方法
Sep 18 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
用libtemplate实现静态网页生成
2006/10/09 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
PHP实现生成唯一编号(36进制的不重复编号)
2014/07/01 PHP
Yii2单元测试用法示例
2016/11/12 PHP
Laravel网站打开速度优化的方法汇总
2017/07/16 PHP
XAMPP升级PHP版本实现步骤解析
2020/09/04 PHP
JavaScript 学习笔记 Black.Caffeine 09.11.28
2009/11/30 Javascript
学习面向对象之面向对象的术语
2010/11/30 Javascript
js用正则表达式来验证表单(比较齐全的资源)
2013/11/17 Javascript
jQuery解决浏览器兼容性问题案例分析
2016/04/15 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
js实现前端分页页码管理
2017/01/06 Javascript
Angular 4环境准备与Angular cli创建项目详解
2017/05/27 Javascript
详解在vue-cli项目中安装node-sass
2017/06/21 Javascript
jQuery ajax调用webservice注意事项
2017/10/08 jQuery
Vue官网todoMVC示例代码
2018/01/29 Javascript
原生js实现each方法实例代码详解
2019/05/27 Javascript
React路由鉴权的实现方法
2019/09/05 Javascript
Python的__builtin__模块中的一些要点知识
2015/05/02 Python
Python实现将DOC文档转换为PDF的方法
2015/07/25 Python
python re模块的高级用法详解
2018/06/06 Python
selenium+python实现自动化登录的方法
2018/09/04 Python
Python 隐藏输入密码时屏幕回显的实例
2019/02/19 Python
Python with用法:自动关闭文件进程
2019/07/10 Python
python实现获取单向链表倒数第k个结点的值示例
2019/10/24 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
Python 实现PS滤镜的旋涡特效
2020/12/03 Python
浅谈HTML5 服务器推送事件(Server-sent Events)
2017/08/01 HTML / CSS
豪华复古化妆:Besame Cosmetics
2019/09/06 全球购物
BannerBuzz加拿大:在线定制横幅印刷、广告和标志
2020/03/10 全球购物
星空联盟C# .net笔试题
2014/12/05 面试题
青春寄语大全
2014/04/09 职场文书
《春雨》教学反思
2014/04/24 职场文书
金榜题名主持词
2015/07/02 职场文书
2015年高中班级工作总结
2015/07/21 职场文书
实例详解Python的进程,线程和协程
2022/03/13 Python