/** * @author herong * Tab页组件 */ var CFWTab = _FW.fCreateClass(); /** * Tab页组件API */ CFWTab.prototype = { /** * 初始化 * */ fInitialize : function(options) { }, /** * 单击某个tab页面时触发 doClicked * @param sTabId tab页面id *
* 使用举例: * CFW.oTab.doClicked(sTabId, func); **/ doClicked: function(sTabId, func){ var tabId = "a[rel='" + sTabId + "']"; $(tabId).bind("click", this, function(){ var obj = {}; obj.ID = sTabId; func(obj); }); }, /** * 双击某个tab页面时触发 doDoubleClicked * @param sTabId tab页面id *
* 使用举例: * CFW.oTab.doDoubleClicked(sTabId, func); **/ doDoubleClicked: function(sTabId, func){ var tabId = "a[href='#" + sTabId + "']"; $(tabId).bind("dblclick", this, function(){ var obj = {}; obj.ID = sTabId; func(obj); }); }, /** * 将Tab页隐藏 * @param sTabId tab页面id *
* 使用举例: * CFW.oTab.fnTabHide(sTabId); **/ fnTabHide : function (sTabId){ var tabId = "#" + sTabId; $(tabId).hide(); tabId = "a[href='" + tabId + "']"; $(tabId).hide(); //取父tab var tabParId = $("#"+sTabId).parent()[0].id; //取当前选用的tab tabParId = "#" + tabParId; var i = $(tabParId).tabs('option', 'selected'); var tabSelId = $(tabParId+" [myclass = 'fwtab']")[i].id; //如果不是当前页就不用跳 if(tabSelId == sTabId){ var showTab = $(tabId).parent().next().children().attr("href"); if(showTab == null || showTab == ''){ showTab = $(tabId).parent().prev().children().attr("href"); } $(tabId).parent().parent().parent().tabs("select", showTab); } }, /** * 将Tab页显示 * @param sTabId tab页面id *
* 使用举例: * CFW.oTab.fnTabShow(sTabId); **/ fnTabShow : function (sTabId){ var tabId = "#" + sTabId; $(tabId).show(); tabId = "a[href='" + tabId + "']"; $(tabId).show(); $(tabId).parent().parent().parent().tabs("select", sTabId); }, /** * 设置Tab不可选择 * @param sTabId tab页面id *
* 使用举例: * CFW.oTab.fnSetDisable(sTabId); **/ fnSetDisable : function (sTabId){ var tabId = "#" + sTabId; $(tabId).parent().tabs("disable", tabId); // 刷新列表 }, /** * 设置Tab可被选择 * @param sTabId tab页面id *
* 使用举例: * CFW.oTab.fnSetEnable(sTabId); **/ fnSetEnable : function (sTabId){ var tabId = "#" + sTabId; $(tabId).parent().tabs("enable", tabId); // 刷新列表 }, /** * 选择指定tabID相对应的界面 * @param sTabId tab页面id *
* 使用举例: * CFW.oTab.fnSelectTab(sTabId); **/ fnSelectTab : function (sTabId){ var tabId = "#" + sTabId; $(tabId).parent().tabs("select", tabId); // 刷新列表 }, /** * 获取选中的Tab页面所对应的TabID * @param sTabId tab页面id * @return TabID *
* 使用举例: * CFW.oTab.fnGetSelectedTab(sTabId); **/ fnGetSelectedTab : function (sTabId){ var tabId = "#" + sTabId; var i = $(tabId).tabs('option', 'selected'); return $(tabId+" [myclass = 'fwtab']")[i].id; }, /** * 功能简介:指定hnisi:tabPanel第N个TAB换行 * @param sTabId 字符串,必填,指定hnisi:tabPanel的id * @param aIndex 数字,或者数字数组,必填,指定要换行的TAB的序号 * @returns *
* 例子1:指定id为mypanel的tabPanel第5个标签后换行
* CFW.oTab.fnSetTabHeader('mypanel',5);
* 例子2:指定id为mypanel的tabPanel第5和第10个标签后换行
* CFW.oTab.fnSetTabHeader('mypanel',[5,10]);
*
*/
fnSetTabHeader : function(sTabId,aIndex){
if(!$.isArray(aIndex)){
aIndex = [aIndex];
}
var $lis = $("#"+ sTabId +" ul li");
for(var i=0,len=aIndex.length;i