?? zptabs.js
字號:
else{objWizard.changeTab(objWizard.tabsArray[0].id);}objArgs.tabId=objWizard.tabsArray[objWizard.currentIndex].id;objWizard.config.onError(objArgs);},asyncSubmitFunc:objWizard.config.onSuccess});var funcOnBeforeTabChange=objWizard.config.onBeforeTabChange;objWizard.config.onBeforeTabChange=function(objArgs){var iNewTabIndex=-1;for(var iTab=0;iTab<objWizard.tabsArray.length;iTab++){if(objWizard.tabsArray[iTab].id==objArgs.newTabId){iNewTabIndex=iTab;break;}}if(iNewTabIndex>objWizard.currentIndex){var objOldTab=objWizard.tabs[objArgs.oldTabId];if(objOldTab&&objOldTab.form&&!objOldTab.form.submit()){return false;}}if(objArgs.newTabId==objWizard.config.submitTabId){for(var iTab=0;iTab<objWizard.tabsArray.length;iTab++){var objTab=objWizard.tabsArray[iTab];if(objTab.id==objArgs.newTabId){continue;}if(!objTab.parsed){objWizard.changeTab(objTab.id);return false;}if(objTab.formSource){if(!objTab.form||!objTab.form.submit()){objWizard.changeTab(objTab.id);return false;}}}}if(typeof funcOnBeforeTabChange=='function'){return funcOnBeforeTabChange(objArgs);}return true;};var funcOnTabChange=objWizard.config.onTabChange;objWizard.config.onTabChange=function(objArgs){var strNewTabId=objArgs.newTabId;var objNewTab=objWizard.tabs[strNewTabId];if(!objNewTab){return;}if(!objNewTab.parsed){var objSource=objNewTab.container.getContentElement();var objForm=Zapatec.Utils.getFirstChild(objSource,'form');if(objForm&&objForm.className.indexOf('zpForm')<0){while(objForm=Zapatec.Utils.getNextSibling(objSource,'form')){if(objForm.className.indexOf('zpForm')>=0){break;}}}if(objForm){objNewTab.formSource=objForm;}objNewTab.parsed=true;}if(!objNewTab.form&&objNewTab.formSource){objNewTab.form=new Zapatec.Form({form:objNewTab.formSource,themePath:objWizard.config.formThemePath,theme:objWizard.config.formTheme,statusImgPos:objWizard.config.formStatusImgPos,showErrors:objWizard.config.showErrors,submitErrorFunc:function(objArgs){objArgs.tabId=strNewTabId;if(typeof objWizard.config.onError=='function'){objWizard.config.onError(objArgs);if(objArgs.fieldErrors&&objArgs.fieldErrors.length){objNewTab.focusOn=objArgs.fieldErrors[0].field;}}},submitValidFunc:function(){if(typeof objWizard.config.onValid=='function'){objWizard.config.onValid({tabId:strNewTabId});}}});}if(strNewTabId==objWizard.config.submitTabId){for(var iTab=0;iTab<objWizard.tabsArray.length;iTab++){var objTab=objWizard.tabsArray[iTab];if(!objTab.form){continue;}var objForm=objTab.formSource;if(!objForm){continue;}for(var iField=0;iField<objForm.elements.length;iField++){var objField=objForm.elements[iField];if(!Zapatec.Form.Utils.isInputField(objField)){continue;}var strName=objField.getAttribute('name');if(strName&&!strName.length){continue;}var objHiddenField=objHiddenForm[strName];if(!objHiddenField){var objHiddenField=Zapatec.Utils.createElement('input');objHiddenField.setAttribute('type','hidden');objHiddenField.setAttribute('name',strName);objHiddenForm.appendChild(objHiddenField);}objHiddenField.setAttribute('value',objField.value);}}objHiddenForm.onsubmit();}if(typeof funcOnTabChange=='function'){funcOnTabChange(objArgs);}};if(typeof funcOnInit=='function'){funcOnInit(objArgs);}};Zapatec.TabsWizard.SUPERclass.init.call(this,objArgs);};Zapatec.AccordionTab=function(objArgs){if(arguments.length==0){objArgs={};}Zapatec.AccordionTab.SUPERconstructor.call(this,objArgs);};Zapatec.AccordionTab.id='Zapatec.AccordionTab';Zapatec.inherit(Zapatec.AccordionTab,Zapatec.Tab);Zapatec.AccordionTab.prototype.createTab=function(){this.config.closable=false;var tabParent=this.config.tabParent;this.tabContainer=document.createElement('div');tabParent.appendChild(this.tabContainer);this.config.tabParent=this.tabContainer;Zapatec.AccordionTab.SUPERclass.createTab.call(this);this.container.getContainer().style.display='block';this.container.getContainer().style.width='';this.tabContainer.tabId=this.id;this.linkNode.tabIndex=Zapatec.AccordionTab.tabIndex;if(this.config.collapseOnClick){this.linkNode.onfocus=null;}if(!this.tab2tab){Zapatec.AccordionTab.tabIndex+=2;}this.chooser=Zapatec.Utils.createElement('div');this.chooser.className='tabChooser';this.chooser.onclick=this.onActivate;this.tabContainer.insertBefore(this.chooser,this.tabContainer.childNodes[0]);this.chooser.appendChild(this.linkNode);if(this.config.tabType!="iframe"){this.wch=Zapatec.Utils.createWCH(this.container.getContainer());if(this.wch){this.wch.style.zIndex=-1;}}};Zapatec.AccordionTab.prototype.configure=function(objArgs){this.defineConfigOption('collapseOnClick',null);this.defineConfigOption('visibleHeight',-1);Zapatec.AccordionTab.SUPERclass.configure.call(this,objArgs);if(this.config.content&&1==this.config.content.nodeType){this.config.visibleHeight=parseInt(this.config.content.style.height);this.config.content.style.height="";}}Zapatec.AccordionTab.prototype.getFocusOn=function(){this.focusOn=null;if(this.tab2tab){return;}var self=this;setTimeout(function(){var iTabIndex=0;function parse(objNode){var objChild=objNode.firstChild;while(objChild){if(objChild.nodeType==1){var strTag=objChild.tagName.toLowerCase();if(strTag=='a'||strTag=='input'||strTag=='select'||strTag=='textarea'||strTag=='button'){if(!self.focusOn){self.focusOn=objChild;}else if(objChild.tabIndex&&objChild.tabIndex>0&&(!iTabIndex||iTabIndex>objChild.tabIndex)){self.focusOn=objChild;iTabIndex=objChild.tabIndex;}if(!objChild.tabIndex){objChild.tabIndex=self.linkNode.tabIndex+1;}}parse(objChild);}objChild=objChild.nextSibling;}};parse(self.container.getContainer());},0);};Zapatec.AccordionTabs=function(objArgs){Zapatec.AccordionTabs.SUPERconstructor.call(this,objArgs);};Zapatec.AccordionTabs.id='Zapatec.AccordionTabs';Zapatec.inherit(Zapatec.AccordionTabs,Zapatec.Tabs);Zapatec.AccordionTabs.prototype.configure=function(objArgs){this.defineConfigOption('collapseOnClick',false);this.defineConfigOption('scrollPageOnSlide',(Zapatec.is_ie&&!Zapatec.is_ie7)||Zapatec.is_gecko);Zapatec.AccordionTabs.SUPERclass.configure.call(this,objArgs);}Zapatec.AccordionTabs.prototype.init=function(objArgs,i){var self=this;var funcOnInit=objArgs.onInit;objArgs.onInit=function(){var _tabContainer=self.config.tabs;var items=_tabContainer.childNodes;for(var i=items.length-1;i>=0;i--){var tagName=items[i].tagName;if(tagName){tagName=tagName.toLowerCase();}if('div'==tagName||'iframe'==tagName){self.config._tabArray.push(items[i]);}}topPos=self.config._tabArray[self.config._tabArray.length-1].offsetTop;var _tabZIndex=100;for(var i=0;i<self.config._tabArray.length;i++){var tab=self.getTabByIndex(i);var tabContainer=tab.tabContainer;var contentContainer=tab.container.getContainer();var visibleHeight=tab.config.visibleHeight;if(tab.config.tabType.toLowerCase()=="iframe"){tab.container.getContainer().style.width='100%';}contentContainer.style.height='1px';Zapatec.Utils.addClass(contentContainer,"zpTabsNoOverflow");tabContainer.style.width=_tabContainer.style.width;tabContainer.style.zIndex=_tabZIndex--;tabContainer.arrayPosition=i;tabContainer.viewingPosition=topPos+((self.config._tabArray.length-1-i)*self.config.tabBarHeight);tabContainer.hiddenPosition=topPos+parseInt(_tabContainer.style.height)-((i+1)*self.config.tabBarHeight);if(visibleHeight&&0<visibleHeight){tabContainer.viewingHeight=visibleHeight;}else{var tabContainerHeight=parseInt(_tabContainer.style.height);if(tabContainerHeight&&0<tabContainerHeight){tabContainer.viewingHeight=tabContainerHeight-((self.config._tabArray.length)*self.config.tabBarHeight);}else{tabContainer.viewingHeight=100;}}tabContainer.hiddenHeight=self.config.tabBarHeight;}var activeTabId=self.getInitialActiveTabId();if(-1!=activeTabId){var activeTab=self.getTab(activeTabId);var tabContainer=activeTab.tabContainer;var contentContainer=activeTab.container.getContainer();contentContainer.style.height=tabContainer.viewingHeight+'px';var setOverflowFunc=function(){Zapatec.Utils.removeClass(contentContainer,"zpTabsNoOverflow");};if(Zapatec.is_ie){setTimeout(setOverflowFunc,0);}else{setOverflowFunc();}self.currentIndex=activeTab.index;self.refreshTab(activeTab,null,activeTabId);}var funcOnBeforeTabChange=self.config.onBeforeTabChange;self.config.onBeforeTabChange=function(objArgs){if(typeof funcOnBeforeTabChange=='function'){return funcOnBeforeTabChange(objArgs);}return true;};var funcOnTabChange=self.config.onTabChange;self.config.onTabChange=function(objArgs){var strNewTabId=objArgs.newTabId;var objNewTab=self.tabs[strNewTabId];if(!objNewTab){return;}if(typeof funcOnTabChange=='function'){funcOnTabChange(objArgs);}};if(typeof funcOnInit=='function'){funcOnInit(objArgs);}};this.noTabBar=true;this.config.windowOnLoad=null;this.config._tabArray=new Array();this.config.IN_MOTION=false;this.config.tabBarHeight=24;this.config.topPos=null;this.config.indexOfWidget=i;this.tabsThemeSuffix='AccordionContent';Zapatec.AccordionTabs.SUPERclass.init.call(this,objArgs);}Zapatec.AccordionTabs.prototype.addTab=function(objTabDef){if(!objTabDef.collapseOnClick){objTabDef.collapseOnClick=this.config.collapseOnClick;}var objTab=Zapatec.AccordionTabs.SUPERclass.addTab.call(this,objTabDef);objTab.tabContainer.index=objTab.index;return objTab;}Zapatec.AccordionTabs.prototype.newTab=function(objArgs){var objTab=new Zapatec.AccordionTab(objArgs);return objTab;}Zapatec.AccordionTabs.prototype.changeTab=function(strNewTabId){var strCurrTabId=null;var objTab=null;if(this.tabsArray[this.currentIndex]){strCurrTabId=this.tabsArray[this.currentIndex].id;objTab=this.tabsArray[this.currentIndex];}if(strCurrTabId!=strNewTabId&&!this.config.IN_MOTION){var boolChangeTab=true;if(typeof this.config.onBeforeTabChange=='function'){boolChangeTab=this.config.onBeforeTabChange({oldTabId:strCurrTabId,newTabId:strNewTabId});}if(!boolChangeTab){return;}if(objTab){Zapatec.Utils.removeClass(objTab.linkNode,'zpTabsActive');}objTab=this.getTab(strNewTabId);var oOffset=Zapatec.Utils.getElementOffset(this.config.tabs);Zapatec.Utils.setupWCH(objTab.wch,0,0,oOffset.width,oOffset.height);Zapatec.Utils.addClass(objTab.linkNode,'zpTabsActive');this.currentIndex=objTab.index;this.slide(objTab.tabContainer.arrayPosition,5,10);this.refreshTab(objTab,strCurrTabId,strNewTabId);}else{if(this.config.collapseOnClick&&strCurrTabId==strNewTabId&&!this.config.IN_MOTION){this.collapseTab();}}};Zapatec.AccordionTabs.prototype.slide=function(index,pxInc,timeInc){if(false==this.config.IN_MOTION){var date=new Date();this.moveStartTime=date.getTime();this.lastTime=this.moveStartTime-timeInc;this.isDecreaseHeight=true;}if(isNaN(index)||index<-1||index>=this.config._tabArray.length){this.config.IN_MOTION=false;return;}var date=new Date();var time=date.getTime();var diffTime=time-this.lastTime;var inc=Math.round((diffTime/timeInc)*pxInc);if(0==inc){var self=this;setTimeout(function(){self.slide(index,pxInc,timeInc);},timeInc);return;}this.lastTime=time;var resizeTabs={decreaseDif:0,increaseDif:0};var isAdjust=false;for(var tries=0;tries<2;tries++){for(var i=0;i<this.config._tabArray.length;i++){var tab=this.getTabByIndex(i);var tabContainer=tab.tabContainer;var contentContainer=tab.container.getContainer();var newHeight=-1;var oldHeight=parseInt(contentContainer.style.height);var isCurrent=tab.index==this.currentIndex;if(!isCurrent&&this.isDecreaseHeight){newHeight=oldHeight-inc;if(newHeight<1){newHeight=1;}}else if(isCurrent&&!this.isDecreaseHeight){newHeight=oldHeight+inc;if(tabContainer.viewingHeight<=newHeight){newHeight=tabContainer.viewingHeight;}}if(-1!=newHeight&&oldHeight!=newHeight){if(this.isDecreaseHeight){resizeTabs.decreaseTab=contentContainer;resizeTabs.decreaseDif=oldHeight-newHeight;}else{resizeTabs.increaseTab=contentContainer;resizeTabs.increaseDif=newHeight-oldHeight;}isAdjust=true;break;}}this.isDecreaseHeight=!this.isDecreaseHeight;}var dif;if(resizeTabs.increaseTab&&resizeTabs.decreaseTab){dif=Math.min(resizeTabs.decreaseDif,resizeTabs.increaseDif);}else if(!resizeTabs.increaseTab){dif=resizeTabs.decreaseDif;}else{dif=resizeTabs.increaseDif;}var incTab=resizeTabs.increaseTab;var decTab=resizeTabs.decreaseTab;if(incTab){var incOldHeight=parseInt(incTab.style.height);incTab.style.height=(incOldHeight+dif)+'px';if(this.isLoadedHtml&&incTab.tagName&&incTab.tagName.toLowerCase()!='iframe'){var tabContentDiv=Zapatec.Utils.getFirstChild(incTab,"div");Zapatec.Utils.addClass(tabContentDiv,"zpTabsNoOverflow");}Zapatec.Utils.addClass(incTab,"zpTabsNoOverflow");}if(decTab){var decOldHeight=parseInt(decTab.style.height);if(!incTab&&this.config.scrollPageOnSlide){var scrollY=Zapatec.Utils.getPageScrollY();var winSize=Zapatec.Utils.getWindowSize();var decTabPos=Zapatec.Utils.getAbsolutePos(decTab);var scrollPosBottom=scrollY+winSize.height-document.body.clientHeight;if(0<=scrollPosBottom&&scrollPosBottom<20){var y=decTabPos.y+decOldHeight-winSize.height;if(y<0){y=0;}window.scrollTo(0,y);}if(decTabPos.y+decOldHeight-dif<scrollY){var y=decTabPos.y+decOldHeight-winSize.height;if(y<0){y=0;}window.scrollTo(0,y);}}decTab.style.height=(decOldHeight-dif)+'px';if(this.isLoadedHtml&&decTab.tagName&&decTab.tagName.toLowerCase()!='iframe'){var tabContentDiv=Zapatec.Utils.getFirstChild(decTab,"div");Zapatec.Utils.addClass(tabContentDiv,"zpTabsNoOverflow");}Zapatec.Utils.addClass(decTab,"zpTabsNoOverflow");}if(!isAdjust){this.config.IN_MOTION=false;if(-1!=this.currentIndex){var currentTab=this.getTabByIndex(this.currentIndex);var stoppedTabContainer=currentTab.container.getContainer();Zapatec.Utils.removeClass(stoppedTabContainer,"zpTabsNoOverflow");}return;}this.config.IN_MOTION=true;var self=this;setTimeout(function(){self.slide(index,pxInc,timeInc);},timeInc);}Zapatec.AccordionTabs.prototype.collapseTab=function(){if(-1!=this.currentIndex){var currentTab=this.getTabByIndex(this.currentIndex);Zapatec.Utils.removeClass(currentTab.linkNode,'zpTabsActive');}this.currentIndex=-1;this.slide(-1,5,10);}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -