源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

DIY jquery plugin - tabs标签切换实现代码

  • 时间:2022-12-05 22:30 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:DIY jquery plugin - tabs标签切换实现代码
Why DIY jquery tab 接触jquery 2,3个月了,一直都未动手写过插件。正好最近比较闲,就打算把一直看不顺眼的项目中现有的tab改造一番(现有的tab未能做成一个控件,copy,past的代码太多)。 想着jQuery这么强大的库不可能没有tabs插件吧,赶紧搜了一下,哈,果然!jQuery tabs!心里一阵窃喜,赶紧load下来用用吧。可查看了一下它的用法,才发现不太适用现有的项目耶,我们的tab每一个都对应着一个完整的页面,是用iframe嵌入的。而jQuery tabs似乎并没有支持iframe哦。那就改造一下吧?得从头到尾研究它的代码吧,头疼!还不如自己写一个得了,正好练练手,哈哈。说干就干,由此便诞生了我的第一个jQuery插件。 Code
[url=blog.htm]<li id="tabHome"><a href="home.htm"><span>首页</span></a></li> <li id="tabManagement"><a href="management.htm"><span>管理</span></a></li> </ul> <div id="tabPanel"> </div> javascript code: $(window).load(function() { $('#tabs').tab({ tabPanel: '#tabPanel' }); })
screenshot: [img]http://files.jb51.net/upload/201012/20101211135512243.png[/img] Description parameter(optional) -- 可自定义tab的样式,触发tab的事件等。默认值如下: public methods -- setActiveTab(tabIndex) && getFrameByTabId(tabId)
[u]复制代码[/u] 代码如下:
setAcitveTab: set active tab by tab index. $('#tabs').setActiveTab(1); //set the second tab active. getFrameByTabId: get frame for a specific tab. $('#tabs').getFrameByTabId("tabHome"); //get the frame for home page.
others 1. 此tab用了三个dom元素<li><a><span>, 是因为为了兼容tab文字的任意大小,其背景用了三张图片,我用了li呈现左边的圆角图片,a呈现右边的圆角,而span则平铺中间的背景。其实用两个图片也可以实现,做一个很长的有左圆角的的背景图片和一个右圆角。但不管如何为了有圆角效果添加了这些无意义的元素,总是让人不爽。真是希望CSS3的圆角技术和一个dom元素可设置多张背景图能到很好的支持。 2. 此插件支持用户自定义切换tab事件(selectHandler),以支持特殊需求,如某tab页验证不通过,不让切换等。用法:
[u]复制代码[/u] 代码如下:
$('#tabs').tab({ tabPanel: '#tabPanel', selectHandler: function() { switchTab(); //the function that you defined. } });
3. tab插件里activeTab,selectedIndex属性等是为了让用户自定义tab切换事件是能得到与tab相关的信息,可根据自己的需要扩展。用法:
[u]复制代码[/u] 代码如下:
$('#tabs').each(function() { var $tabs = this; var currentTabId = $tabs.activeTab.attr('id'); //... }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部