使用自定义 jQuery 插件的一个选项卡Demo
2013-10-27 19:15
826 查看
前几天闲着没事,想着编写一个 jQuery 插件,或许这将是一个美好的开始。
这里是html页面:
下面看面按照顺序给出引用的内容。
首先是样式文件css/tabs.css :
需要引用的 js/jquery.min.js 是必不可少的,这里就不提供了,大家可以自己去下载。
接下来是自定义jQuery插件 js/tabs.js :
这个插件的最大好处就是可以更改 tabs 的切换方式,试着把 switchingMode: "mouseover" 改成 switchingMode: "click" 然后看看有什么效果?
这里是html页面:
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="GB2312" /> <title>选项卡</title> <link href="css/tabs.css" rel="stylesheet" type="text/css"/> <script src="js/jquery.min.js" type="text/javascript"></script> <script src="js/tabs.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $("#mytabs").tabs(); }); </script> </head> <body> <div id="mytabs"> <ul> <li><a href="#tabs1">选项1</a></li> <li><a href="#tabs2">选项2</a></li> <li><a href="#tabs3">选项3</a></li> <li><a href="#tabs4">选项4</a></li> </ul> <div id="tabs1">First</div> <div id="tabs2">Second</div> <div id="tabs3">Third</div> <div id="tabs4">Fourth</div> </div> </body> </html>
下面看面按照顺序给出引用的内容。
首先是样式文件css/tabs.css :
body { background-color: #EEE; } .tabsDiv { width: 500px; height: 350px; margin: 100px auto; border: 1px solid black; background-color: white; } .tabsDiv ul { width: 500px; height: 30px; list-style: none; margin: 0px; padding: 0px; } .tabsDiv li { width:25%; height:30px; line-height:30px; } .tabsDiv div { background-color: yellow; height:20px; width:60px; text-align: center; margin: 50px auto; } .tabsSeletedLi { background-color: white; float: left; text-align: center; } .tabsSeletedLi a { color: black; text-decoration: none; font-weight:bold; } .tabsSeletedLi a:hover { color: grey; } .tabsUnSeletedLi { background-color: black; float: left; text-align: center; } .tabsUnSeletedLi a { color: white; text-decoration: none; font-weight:bold; } .tabsUnSeletedLi a:hover { color: grey; }
需要引用的 js/jquery.min.js 是必不可少的,这里就不提供了,大家可以自己去下载。
接下来是自定义jQuery插件 js/tabs.js :
(function($) { $.fn.tabs = function() { var opts = { switchingMode: "mouseover" // or "click" }; var obj = $(this); var clickIndex = 0; obj.addClass("tabsDiv"); $("ul li:first", obj).addClass("tabsSeletedLi"); $("ul li", obj).not(":first").addClass("tabsUnSeletedLi"); $("div", obj).not(":first").hide(); $("ul li", obj).bind(opts.switchingMode, function() { if (clickIndex != $("ul li", obj).index($(this))) { clickIndex = $("ul li", obj).index($(this)); $(".tabsSeletedLi", obj).removeClass("tabsSeletedLi").addClass("tabsUnSeletedLi"); $(this).removeClass("tabsUnSeletedLi").addClass("tabsSeletedLi"); var divid = $("a", $(this)).attr("href").substr(1); $("div", obj).hide(); $("#" + divid, obj).show(); }; }); }; })(jQuery);
这个插件的最大好处就是可以更改 tabs 的切换方式,试着把 switchingMode: "mouseover" 改成 switchingMode: "click" 然后看看有什么效果?
相关文章推荐
- 自定义 jQuery 插件, 自己开发的一个Demo
- [原创]jPagerBar1.2发布-jquery分页插件(一个适合Ajax+JSON+jQuery环境使用的多功能页码栏插件)(Demo、源文件下载已更新)
- [原创]jPagerBar1.2发布(一个适合Ajax+JSON+jQuery环境使用的多功能页码栏插件)(Demo、源文件下载已更新)
- Jquery插件Thickbox的使用总结及自定义设置
- 使用HTML5和jQuery插件Quicksand实现一个超酷的星际争霸2兵种分类展示效果
- 自己使用jquery写的一个无缝滚动的插件
- 使用 jquery 的 上传文件插件 uploadify 3.1 配合 java 来做一个简单的文件上次功能。并且在界面上有radio 的选择内容也要上传
- 基于jQuery实现Tabs选项卡自定义插件
- Jquery插件Thickbox的使用总结及自定义设置
- 使用HTML5和jQuery插件Quicksand实现一个超酷的星际争霸2兵种分类展示效果
- jQuery插件实战之fullcalendar(日历插件) - 使用fullcalendar开发一个功能完整的富客户端会议室预定系统(转)
- 使用HTML5和jQuery插件Reel实现一个超酷的星际争霸2兵种动画360度预览效果
- 如何创建一个自定义jQuery插件
- 简便使用jQuery(下)-jQuery自定义插件的编写
- jquery autocomplete插件结合ajax使用demo
- 用一个案例介绍jQuery插件的使用和写法
- 使用jQuery图表插件Sparklines来开发一个实用的网站PV(page view)实时监控应用
- 使用jQuery制作自定义PickList插件
- 打开一个iframe,从iframe更改父窗口parent里面的内容,jquery弹出窗口插件fancybox的使用
- 使用HTML5和jQuery插件Reel实现一个超酷的星际争霸2兵种动画360度预览效果