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 相关文章推荐
浏览器无法运行JAVA脚本的解决方法
Jan 09 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
Apr 23 Javascript
基于javascript的JSON格式页面展示美化方法
Jul 02 Javascript
JavaScript AOP编程实例
Jun 16 Javascript
JavaScript中三种异步上传文件方式
Mar 06 Javascript
javascript汉字拼音互转的简单实例
Oct 09 Javascript
JSONP基础知识详解
Mar 19 Javascript
Vuex中mutations与actions的区别详解
Mar 01 Javascript
jQuery中常用动画效果函数知识点整理
Aug 19 jQuery
Vue项目自动转换 px 为 rem的实现方法
Oct 29 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
Sep 02 Javascript
JS前端使用Canvas快速实现手势解锁特效
Sep 23 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调用shell的方法
2014/11/05 PHP
PHP/HTML混写的四种方式总结
2017/02/27 PHP
jquery 利用show和hidden实现级联菜单示例代码
2013/08/09 Javascript
jQuery仿gmail实现fixed布局的方法
2015/05/27 Javascript
JavaScript中数据结构与算法(二):队列
2015/06/19 Javascript
jquery插件pagination实现无刷新ajax分页
2015/09/30 Javascript
全面解析JavaScript中“&amp;&amp;”和“||”操作符(总结篇)
2016/07/18 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
2017/04/17 Javascript
ES6新特性一: let和const命令详解
2017/04/20 Javascript
微信小程序实现点击返回顶层的方法
2017/07/12 Javascript
纯js实现的积木(div层)拖动功能示例
2017/07/19 Javascript
JavaScript实现换肤功能
2017/09/15 Javascript
JS获取url参数,JS发送json格式的POST请求方法
2018/03/29 Javascript
node错误处理与日志记录的实现
2018/12/24 Javascript
微信小程序实现手势滑动卡片效果
2019/08/26 Javascript
JS实现压缩上传图片base64长度功能
2019/12/03 Javascript
vue实现图片上传功能
2020/05/28 Javascript
JS字符串补全方法padStart()和padEnd()
2020/05/27 Javascript
微信小程序中target和currentTarget的区别小结
2020/11/06 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
2020/11/27 Vue.js
[02:19]2014DOTA2国际邀请赛 专访820少年们一起去追梦吧
2014/07/14 DOTA
Python比较两个图片相似度的方法
2015/03/13 Python
python 多线程中子线程和主线程相互通信方法
2018/11/09 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
python爬虫中抓取指数的实例讲解
2020/12/01 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
H5新属性audio音频和video视频的控制详解(推荐)
2016/12/09 HTML / CSS
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
大学辅导员事迹材料
2014/02/05 职场文书
银行开业庆典方案
2014/02/06 职场文书
英语教研活动总结
2014/07/02 职场文书
2015年护理工作总结范文
2015/04/03 职场文书
负责培养人意见
2015/06/05 职场文书
iPhone13将有八大升级
2021/04/15 数码科技
CSS3鼠标悬浮过渡缩放效果
2021/04/17 HTML / CSS