| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- /**
- * @author herong
- * Tab页组件
- */
- var CFWTab = _FW.fCreateClass();
- /**
- * Tab页组件API
- */
- CFWTab.prototype = {
- /**
- * 初始化
- * */
- fInitialize : function(options) {
-
- },
-
- /**
- * 单击某个tab页面时触发 doClicked
- * @param sTabId tab页面id
- * <pre>
- * 使用举例:
- * CFW.oTab.doClicked(sTabId, func);
- * </pre>
- */
- 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
- * <pre>
- * 使用举例:
- * CFW.oTab.doDoubleClicked(sTabId, func);
- * </pre>
- */
- 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
- * <pre>
- * 使用举例:
- * CFW.oTab.fnTabHide(sTabId);
- * </pre>
- */
- 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
- * <pre>
- * 使用举例:
- * CFW.oTab.fnTabShow(sTabId);
- * </pre>
- */
- 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
- * <pre>
- * 使用举例:
- * CFW.oTab.fnSetDisable(sTabId);
- * </pre>
- */
- fnSetDisable : function (sTabId){
- var tabId = "#" + sTabId;
- $(tabId).parent().tabs("disable", tabId); // 刷新列表
- },
-
- /**
- * 设置Tab可被选择
- * @param sTabId tab页面id
- * <pre>
- * 使用举例:
- * CFW.oTab.fnSetEnable(sTabId);
- * </pre>
- */
- fnSetEnable : function (sTabId){
- var tabId = "#" + sTabId;
- $(tabId).parent().tabs("enable", tabId); // 刷新列表
- },
-
- /**
- * 选择指定tabID相对应的界面
- * @param sTabId tab页面id
- * <pre>
- * 使用举例:
- * CFW.oTab.fnSelectTab(sTabId);
- * </pre>
- */
- fnSelectTab : function (sTabId){
- var tabId = "#" + sTabId;
- $(tabId).parent().tabs("select", tabId); // 刷新列表
- },
-
- /**
- * 获取选中的Tab页面所对应的TabID
- * @param sTabId tab页面id
- * @return TabID
- * <pre>
- * 使用举例:
- * CFW.oTab.fnGetSelectedTab(sTabId);
- * </pre>
- */
- 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
- * <pre>
- * 例子1:指定id为mypanel的tabPanel第5个标签后换行
- * CFW.oTab.fnSetTabHeader('mypanel',5);
- * 例子2:指定id为mypanel的tabPanel第5和第10个标签后换行
- * CFW.oTab.fnSetTabHeader('mypanel',[5,10]);
- * </pre>
- */
- fnSetTabHeader : function(sTabId,aIndex){
- if(!$.isArray(aIndex)){
- aIndex = [aIndex];
- }
- var $lis = $("#"+ sTabId +" ul li");
- for(var i=0,len=aIndex.length;i<len;i++){
- var $li = $lis.eq(aIndex[i]-1);
- if(0 == i){
- $li.after("<LI id='crlf' style='font-size:40%; visibility:visible;float:none;clear:left;'></LI>");
- }else{
- $li.after("<LI id='crlf' style='font-size:50%; visibility:visible;float:none;clear:left;'></LI>");
- }
- }
- }
- };
|