演示参看: http://www.12px.net/demo/picshow/
代码如下: function PicShow(_pic_id,_pic_array,_index){ this.picid=_pic_id; this.picobj=document.getElementById(this.picid); if(!this.picobj){alert("找不到对象!");return;} this.picobj.style.filter="RevealTrans (duration=2,transition=5)";//设置滤镜 this.picarray=new Array(_pic_array.length);//存储图片路径数组 for(i=0;i<=_pic_array.length-1;i++){ this.picarray[i]=new Image();//设置为对象(可以缓存,加快显示速度) this.picarray[i].src=_pic_array[i]; } this.index=0; if(_index && parseInt(_index)==_index){//初始化开始显示第几张图片 this.index=_index; } this.pre;//前一张 this.next;//后一张 this.picobj.src=this.picarray[this.index].src; this.picobj.style.display="none"; this.init=false; this.m;//保存方法 this.s;//保存秒数 this.handle; this.IE=(document.all)?true:false;//IE判断 this.codearr=new Array();//储存运行代码 /*类的字段设置结束*/ this.showPic=function(_index){ if(parseInt(_index)==_index){ this.index=_index; } if(this.index<0 || this.index>this.picarray.length-1){this.index=0;} if(this.IE){this.picobj.filters.revealTrans.Transition=Math.random()*24} if(this.IE){this.picobj.filters.revealTrans.Apply();}//如果是IE则应用滤镜 if(this.init){//防止开始加载两遍第一次的图片 this.picobj.src=this.picarray[this.index].src; }else{ this.init=true; this.picobj.style.display=""; } if(this.IE){this.picobj.filters.revealTrans.Play();} this.runCode();//运行代码 this.pre=this.index; this.index++; this.next=this.index; } this.run=function(_method,_s){ this.m=_method; this.s=_s; this.handle=setInterval(_method,_s); } this.getCode=function(_code){ this.codearr.push(_code); } this.runCode=function(){ if(this.codearr.length==0){return;} for(i=0;i<=this.codearr.length-1;i++){ eval(this.codearr[i]); } } /*基本方法结束*/ /*扩展功能开始*/ this.toPre=function(){ //var p; //p=this.pre; //if(typeof(this.pre)=="undefined" || this.pre<0){p=0;} //clearInterval(this.handle); //this.showPic(p); //this.handle=setInterval(this.m,this.s); } this.toNext=function(){ //var n; //n=this.next; //if(typeof(this.next)=="undefined"){n=1;} //if(this.index>this.picarray.length-1){n=this.picarray.length-1;} //clearInterval(this.handle); //this.showPic(n); //this.handle=setInterval(this.m,this.s); } this.getFocus=function(_idArray,_className){ var idArray=_idArray; var preObj=document.getElementById(idArray[this.pre]); var indexObj=document.getElementById(idArray[this.index]); if(preObj){preObj.className="";} if(indexObj){indexObj.className=_className;} } }
点击下载此资源
相关文章