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 面向对象编程基础 多态
Aug 21 Javascript
jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配
May 31 Javascript
理解Javascript_13_执行模型详解
Oct 20 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
Feb 02 Javascript
如何书写高质量jQuery代码(使用jquery性能问题)
Jun 30 Javascript
使用JavaScript实现ajax的实例代码
May 11 Javascript
JavaScript中的对象继承关系
Aug 01 Javascript
扩展Bootstrap Tooltip插件使其可交互的方法
Nov 07 Javascript
javascript ES6 新增了let命令使用介绍
Jul 07 Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
Sep 03 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
Sep 23 Javascript
uniapp实现可以左右滑动导航栏
Oct 21 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
日本因肺炎疫情影响,这几部动漫推延播放!
2020/03/03 日漫
PHP的curl实现get,post和cookie(实例介绍)
2013/06/17 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
Ajax::prototype 源码解读
2007/01/22 Javascript
js自定义方法通过隐藏iframe实现文件下载
2013/02/21 Javascript
影响jQuery使用的14个方面
2014/09/01 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
thinkphp 表名 大小写 窍门
2015/02/01 Javascript
Js+Ajax,Get和Post在使用上的区别小结
2016/06/08 Javascript
Ubuntu 16.04 64位中搭建Node.js开发环境教程
2016/10/19 Javascript
js中数组的常用方法小结
2016/12/30 Javascript
Vue单页式应用(Hash模式下)实现微信分享的实例
2017/07/21 Javascript
jquery在vue脚手架中的使用方式示例
2017/08/29 jQuery
vue-cli3.0配置及使用注意事项详解
2018/09/05 Javascript
搭建vscode+vue环境的详细教程
2020/08/31 Javascript
Node 使用express-http-proxy 做api网关的实现
2020/10/15 Javascript
html中创建并调用vue组件的几种方法汇总
2020/11/17 Javascript
[13:38]2015国际邀请赛中国战队出征仪式
2015/05/29 DOTA
快速排序的算法思想及Python版快速排序的实现示例
2016/07/02 Python
python正则表达式的使用
2017/06/12 Python
PyCharm代码格式调整方法
2018/05/23 Python
Pycharm更换python解释器的方法
2018/10/29 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
Python中Unittest框架的具体使用
2019/08/27 Python
python实现二分类的卡方分箱示例
2019/11/22 Python
Python FFT合成波形的实例
2019/12/04 Python
基于python实现监听Rabbitmq系统日志代码示例
2020/11/28 Python
CSS3实现swap交换动画
2016/01/19 HTML / CSS
CSS3的calc()做响应模式布局的实现方法
2017/09/06 HTML / CSS
htnl5利用svg页面高斯模糊的方法
2018/07/20 HTML / CSS
详解通过focusout事件解决IOS键盘收起时界面不归位的问题
2019/07/18 HTML / CSS
教师业务学习材料
2014/12/16 职场文书
2015年领导班子工作总结
2015/05/23 职场文书
2016秋季运动会开幕词
2016/03/04 职场文书
七年级上册生物的课件
2019/08/07 职场文书