本选项卡基于prototype.js
参数说明:
tab_id: 选项卡ID
tab_cont_id: 选项内容ID
可选参数:
defaultTab: 默认选择的选项卡序号
selectCss: 选中时的样式名称
mouseEvent: 选中选项卡的鼠标方法
常用方法:
getNowTab() 返回当前选中的选项卡
getDefaultTab() 返回默认选项卡
其它方法见代码
用法:
var tb = new tabControl('tab','tab_cont');
也可以这样用:
var tb = new tabControl('tab','tab_cont',{ defaultTab: 1, selectCss: 'select', //选中时的样式 mouseEvent: 'click', //选中选项卡的鼠标方法 });
注:{}内均为可选项
<input type="button" onclick="tb.getDefaultTab();" value="默认选项卡" />
代码:
/* * tabControl -- tab选项卡 * versions 2.1 * by:dum 2012-03-14 * tab_id:必须为 ul那一级的元素 */ var tabControl = Class.create(); tabControl.prototype = { initialize:function (tab_id,tab_cont_id) { this.tab = $(tab_id); this.tabCont = $(tab_cont_id); this.options = Object.extend({ defaultTab: 0, selectCss: 'select', //选中时的样式 mouseEvent: 'click', //选中选项卡的鼠标方法 }, arguments[2] || { }); this.activate = this.options.defaultTab; //当前激活的tab顺序号 this.tab.childElements().each(this.initEvent.bind(this));//初始化鼠标事件 this.setTabByNum(this.options.defaultTab); //设置默认选项卡 }, initEvent:function(el){//初始化鼠标事件 el.observe(this.options.mouseEvent, this.setTabBySelect.bind(this, el)); }, setTabBySelect:function(el){//选中选项(根据选择的标签) var n = this.tab.childElements().indexOf(el); this.setTabByNum(n); this.activate = n; }, setTabByNum:function(n){//选中选项(根据标签序号) this.selectTab(this.tab.childElements()[n]); this.selectTabCont(this.tabCont.childElements()[n]); }, selectTab:function(el){//选择选项卡 var css = this.options.selectCss; el.siblings().each(function(s){ if(s.hasClassName(css))s.removeClassName(css); }); el.addClassName(css); }, selectTabCont:function(dom){//选择选项卡内容 dom.siblings().each(function(s){ s.hide(); }); dom.show(); }, getNowTab:function(){//返回当前选项卡 this.setTabByNum(this.activate); }, getDefaultTab:function(){//返回默认选项卡 this.setTabByNum(this.options.defaultTab); } }
所用html:
<ul class="css1" id="tab"> <li><a href="#"><u>设计类</u></a></li> <li><a href="#"><u>方案类</u></a></li> <li><a href="#"><u>网站类</u></a></li> </ul> <div class="css2" id="tab_cont"> <div> <h3>设计类。。。。。。。。。。</h3>。。。 </div> <div> <h3>方案类。。。。。。。。</h3>。。。 </div> <div> <h3>网站类。。。。。。。。。。</h3>。。。 </div> </div>