(function(){ var mF={ defConfig:{//全局默认设置 pattern:'mF_fscreen_tb',//风格样式 trigger:'click',//触发切换模式['click'(鼠标点击)|'mouseover'(鼠标悬停)] txtHeight:'default',//文字层高度设置['default'(默认高度)|0(隐藏)|num(数字,单位像素)] wrap:true,//是否保留边框(有的话)[true|false] auto:true,//是否自动播放[true|false] time:4,//每次停留时间[num(数字,单位秒)] index:0,//开始显示的图片序号(从0算起)[num(数字)] waiting:20,//Loading画面的最长等待时间[true(一直等待)|false(不等待)|num(数字,单位秒)] delay:100,//触发切换模式中'mouseover'模式下的切换延迟[num(数字,单位毫秒)] css:true,//是否需要程序定义CSS[true|false] path:'/template/slide/pattern/',//pattern文件的路径 autoZoom:false//是否允许图片自动缩放居中[true|false] }, pattern:{}, extend:function(){ var a=arguments,l=a.length,i=1,parent=a[0]; if(l===1){i=0,parent=this.pattern;} for(i;i'+obj.innerHTML+'';},//在obj里面添加wrap,cla为wrap的class addList:function(obj,cla){ var s=[],ul=this.$$('ul',obj)[0],li=this.$$_('li',ul),img,n=li.length,num=cla.length; for(var j=0;j'); for(var i=0;i'+(cla[j]=='num'?(''+(i+1)+''):(cla[j]=='txt'&&img?li[i].innerHTML.replace(/\/i,img.alt)+'

'+img.getAttribute("text")+'

':(cla[j]=='thumb'&&img?'':'')))+'')}; s.push(''); }; obj.innerHTML+=s.join(''); } }, CSS={ style:function(o,attr){var v=(this.isIE?o.currentStyle:getComputedStyle(o,''))[attr],pv=parseFloat(v);return isNaN(pv)?v:pv;}, setOpa:function(o,val){o.style.filter = "alpha(opacity=" + val + ")",o.style.opacity = val/100;}, removeClass:function(o,name){var cla=o.className,reg="/\\s*"+name+"\\b/g";o.className=cla?cla.replace(eval(reg),''):''} }, Anim={ animate:function(obj,attr,val,dur,type,fn){ var opa=attr==='opacity',F=this,opacity=F.setOpa,am=typeof val==='string',st=(new Date).getTime(); if(opa&&F.style(obj,'display')==='none') obj.style.display='block',opacity(obj,0); var os=F.style(obj,attr),b=isNaN(os)?1:os,c=am?val/1:val-b,d=dur||800,e=F.easing[type||'easeOut'],m=c>0?'ceil':'floor'; if(obj[attr+'Timer']) clearInterval(obj[attr+'Timer']); obj[attr+'Timer']=setInterval(function(){ var t=(new Date).getTime()-st; if(tn-1&&!_tn&&!first) idx+=n;var next=idx!==undefined?idx:index+1;if("+fn2+")("+fn2+")();index=next;_tn=first=null;};run(index);if(_t&&par.auto)var auto=setInterval(function(){run()},_t);_F.addEvent(box,'mouseover',function(){if(auto)clearInterval(auto)});_F.addEvent(box,'mouseout',function(){if(auto)auto=setInterval(function(){run()},_t)});for(var i=0,_lk=_F.$$('a',box),_ln=_lk.length;i<_ln;i++) _lk[i].onfocus=function(){this.blur();}" }, bind:function(arrStr,type,delay){ return "for (var j=0;j=n?next-n:next,scDur="+dur+"||500,scMax=scDis*(n-"+sn+"),scD=scDis*scIdx+scDir;if(scD>scDis*scN&&scIdx!==n-1) scPar["+dir+"]='-'+scDis;if(scD0?index-1:n-1);};"+next+".onclick=function(){_tn=2;var tIdx=index>=2*n-1?n-1:index;run(index==n-1&&!less?0:tIdx+1);}"}, alterSRC:function(o,name,del){var img=this.$$('img',o)[0];img.src=del?img.src.replace(eval("/"+name+"\\.(?=[^\\.]+$)/g"),'.'):img.src.replace(/\.(?=[^\.]+$)/g,name+'.')}, onloadIMG:function(box,wait,callback){ var img=this.$$('img',box),len=img.length,cont=0,ok=false; for(var i=0;i= maxWidth / maxHeight) var M1='width',M2='height',MAX=maxWidth; else var M1='height',M2='width',MAX=maxHeight; if(IMG[M1]>MAX){//缩小 imgs[i]['style'][M1] = MAX+'px'; imgs[i]['style'][M2] = (IMG[M2] * MAX) / IMG[M1]+'px'; } else {//实际显示 imgs[i]['style'][M1] = IMG[M1]+'px'; imgs[i]['style'][M2] = IMG[M2]+'px'; } var h=parseInt(imgs[i].style.height); if(maxHeight>h){ imgs[i].style.marginTop=(maxHeight-h)/2+'px';//垂直居中 } }; }, loadPattern:function(name,path,callback){ var js= document.createElement("script"),css=document.createElement("link"),src=path+name+'.js',href="qbui obnf "'.css'; js.type = "text/javascript",js.src=src; css.rel = "stylesheet",css.href="isfg;" this.$$('head')[0].appendChild(css); this.$$('head')[0].appendChild(js); if(this.isIE) { js.onreadystatechange=function(){if(js.readyState=="loaded" || js.readyState=="complete") callback();} } else{js.onload=function(){callback();}} js.onerror=function(){alert('Not Found (404): '+src)}//chrome }, addEvent:function(obj,type,fn){var b=this.isIE,e=b?'attachEvent':'addEventListener',t=(b?'on':'')+type;obj[e](t,fn,false);} }; mF.extend(mF,DOM,CSS,Anim,Init,Method); mF.set.params=function(name,p){mF.pattern[name].cfg=p}; //防变量冲突处理 myFocus__AGENT__=mF;//引用 if(typeof myFocus==='undefined') myFocus=myFocus__AGENT__; else alert('"myFocus" has been Defined, Please use "myFocus__AGENT__".'); //支持JQ if(typeof jQuery!=='undefined'){ jQuery.fn.extend({ myFocus:function(p,fn){ if(!p) p={}; p.id=this[0].id; if(!p.id) p.id=this[0].id='mF__NAME__'; myFocus__AGENT__.set(p,true,fn); } }); } })();