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 相关文章推荐
利用onresize使得div可以随着屏幕大小而自适应的代码
Jan 15 Javascript
编写自己的jQuery提示框(Tip)插件
Feb 05 Javascript
js控制网页前进和后退的方法
Jun 08 Javascript
js获取鼠标位置实例详解
Dec 09 Javascript
为什么JavaScript没有块级作用域
May 22 Javascript
JavaScript获取IP获取的是IPV6 如何校验
Jun 12 Javascript
JS中cookie的使用及缺点讲解
May 13 Javascript
vue中的模态对话框组件实现过程
May 01 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
May 22 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
Nov 14 jQuery
原生js通过一行代码实现简易轮播图
Jun 05 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
Nov 09 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设计模式 Factory(工厂模式)
2011/06/26 PHP
php获取文章上一页与下一页的方法
2014/12/01 PHP
详解Yii2 之 生成 URL 的方法
2017/06/16 PHP
php实现微信公众号企业转账功能
2018/10/01 PHP
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
jquery图片上下tab切换效果
2011/03/18 Javascript
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
关于js中for in的缺陷浅析
2013/12/02 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
Jquery修改image的src属性,图片不加载问题的解决方法
2016/05/17 Javascript
简单总结JavaScript中的String字符串类型
2016/05/26 Javascript
15款最好的Bootstrap在线编辑器
2016/08/03 Javascript
EasyUI学习之DataGird分页显示数据
2016/12/29 Javascript
JS数组返回去重后数据的方法解析
2017/01/03 Javascript
使用Bootstrap美化按钮实例代码(demo)
2017/02/03 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
2017/02/26 Javascript
vue多种弹框的弹出形式的示例代码
2017/09/18 Javascript
Java设计中的Builder模式的介绍
2018/03/22 Javascript
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
JavaScript实现拖拽盒子效果
2020/02/06 Javascript
详解webpack-dev-middleware 源码解读
2020/03/23 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
2020/04/14 Javascript
JS实现页面鼠标点击出现图片特效
2020/08/19 Javascript
Python Socket编程详细介绍
2017/03/23 Python
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
python中报错&quot;json.decoder.JSONDecodeError: Expecting value:&quot;的解决
2019/04/29 Python
python pygame实现方向键控制小球
2019/05/17 Python
python使用flask与js进行前后台交互的例子
2019/07/19 Python
python代码 FTP备份交换机配置脚本实例解析
2019/08/01 Python
基于python实现地址和经纬度转换
2020/05/19 Python
Python调用百度OCR实现图片文字识别的示例代码
2020/07/17 Python
厨师岗位职责
2013/11/12 职场文书
中国好声音广告词
2014/03/18 职场文书
团日活动总结
2014/04/28 职场文书
python神经网络学习 使用Keras进行简单分类
2022/05/04 Python