$.widget('ui.w_tab',{ options:{ param:{}, acdiv:0, divcss:"", divsty:"", cssh:"", csss:"", divaim:0, cache:1, event:'click', load:'', funeffect:0, filmtime:0, child:'', tab:0 }, _create:function(){ var op=this.options; //指定acdiv时,必须指定divaim,否则中断js if(op.acdiv){ if(!op.divaim){ return;}} this.old="";this.oldei=-1;this.sib=array();this.param=array();this.chls=array(); this.childattr(); for(var i=0;i=0){this.tab(op.tab);} this.startfilm(); }, childattr:function(){ var op=this.options,self=this,el=this.element,tmp; this.chls=el.children(op.child); //存储触发元素对应的元素,将指向触发元素时,将会隐藏对应的元素 for(var i=0;i0){self.pausefilm();} }).mouseout(function(e){ if(self.old[0]!=this){ var param=self.param[ei]; if(param.cc){ this.classname=param.cc;} else { this.classname="";} if(param.sc){ $(this).attr('style',param.sc);} } if(e.pagex>0){self.startfilm();} }).click(function(){ if(self.old[0]==this){return;} var tmp=self.old;self.old=$(this); if(tmp!=""){tmp.triggerhandler("mouseout");} var param=self.param[ei]; if(param.cs){ this.classname=param.cs;} if(param.ss){ $(this).attr('style',param.ss);} //根据参数调用目标页面并显示在内容容器(内容容器根据需要自动创建与否) //得出目标id值和目标元素类型 var arram=param.am.split('#'); if(arram.length>1){ param.am=arram[1]; param.dt=arram[0]; }else{ param.dt='div'; } var ediv=$('#'+param.am); if(ediv.length<1){ if(op.acdiv){ ediv=$('<'+param.dt+' id="'+param.am+'" class="'+op.divcss+'" style="'+op.divsty+'">').appendto($('#'+op.divaim)); }else{return;} } //动画或者普通效果处理需要显示的div和需要隐藏的div,只对主内容div启用效果 var oldzaim,newzaim; if(self.oldei>-1){ for(var j=0;j