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 相关文章推荐
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
Sep 19 Javascript
禁止选中文字兼容IE、Chrome、FF等
Sep 04 Javascript
jQuery封装的tab选项卡插件分享
Jun 16 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
Jul 03 Javascript
JavaScript编程中的Promise使用大全
Jul 28 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
Aug 17 Javascript
js判断文件格式及大小的简单实例(必看)
Oct 11 Javascript
VUE开发一个图片轮播的组件示例代码
Mar 06 Javascript
关于axios返回空对象的问题解决
Apr 04 Javascript
微信小程序三级联动选择器使用方法
May 19 Javascript
webpack 从指定入口文件中提取公共文件的方法
Nov 13 Javascript
微信小程序实现同时上传多张图片
Feb 03 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
Zend 输出产生XML解析错误
2009/03/03 PHP
php 购物车实例(申精)
2009/05/11 PHP
一个PHP的String类代码
2010/04/20 PHP
PHP写API输出的时用echo的原因详解
2019/04/28 PHP
javascript innerHTML、outerHTML、innerText、outerText的区别
2008/11/24 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(三)情景对话中仿打字机输出文字
2013/01/23 Javascript
查看图片(前进后退)功能实现js代码
2013/04/24 Javascript
使用js解决由border属性引起的div宽度问题
2013/11/26 Javascript
Jquery中ajax方法data参数的用法小结
2014/02/12 Javascript
如何防止JavaScript自动插入分号
2015/11/05 Javascript
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
JS库之wow.js使用方法
2017/09/14 Javascript
NodeJs入门教程之定时器和队列
2019/03/08 NodeJs
详解微信小程序之一键复制到剪切板
2019/04/24 Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
2020/02/16 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
2020/04/26 Javascript
详解vue-cli项目在IE浏览器打开报错解决方法
2020/12/10 Vue.js
JS实现百度搜索框
2021/02/25 Javascript
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
[03:27]最受玩家喜爱奖提名:PZH_Element 致玩家寄语
2016/12/20 DOTA
[01:00:52]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第一场
2018/04/05 DOTA
[42:32]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.27
2020/12/01 DOTA
OpenCV实现人脸识别
2017/04/07 Python
Python编程之列表操作实例详解【创建、使用、更新、删除】
2017/07/22 Python
python版简单工厂模式
2017/10/16 Python
python绘制铅球的运行轨迹代码分享
2017/11/14 Python
对Python subprocess.Popen子进程管道阻塞详解
2018/10/29 Python
python绘制漏斗图步骤详解
2019/03/04 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
活动邀请函范文
2014/01/19 职场文书
大学运动会通讯稿
2014/01/28 职场文书
工作说明书格式
2014/07/29 职场文书
2014年统计工作总结
2014/11/21 职场文书
导游词之安徽九华山
2019/09/18 职场文书
OpenCV-Python实现油画效果的实例
2021/06/08 Python
css3带你实现3D转换效果
2022/02/24 HTML / CSS