兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
JS部分:
<scripttype="text/javascript"language="javascript"> functionaddEvent(obj,evtType,func,cap){ cap=cap||false; if(obj.addEventListener){ obj.addEventListener(evtType,func,cap); returntrue; }elseif(obj.attachEvent){ if(cap){ obj.setCapture(); returntrue; }else{ returnobj.attachEvent("on"+evtType,func); } }else{ returnfalse; } } functiongetPageScroll(){ varxScroll,yScroll; if(self.pageXOffset){ xScroll=self.pageXOffset; }elseif(document.documentElement&&document.documentElement.scrollLeft){ xScroll=document.documentElement.scrollLeft; }elseif(document.body){ xScroll=document.body.scrollLeft; } if(self.pageYOffset){ yScroll=self.pageYOffset; }elseif(document.documentElement&&document.documentElement.scrollTop){ yScroll=document.documentElement.scrollTop; }elseif(document.body){ yScroll=document.body.scrollTop; } arrayPageScroll=newArray(xScroll,yScroll); returnarrayPageScroll; } functionGetPageSize(){ varxScroll,yScroll; if(window.innerHeight&&window.scrollMaxY){ xScroll=document.body.scrollWidth; yScroll=window.innerHeight+window.scrollMaxY; }elseif(document.body.scrollHeight>document.body.offsetHeight){ xScroll=document.body.scrollWidth; yScroll=document.body.scrollHeight; }else{ xScroll=document.body.offsetWidth; yScroll=document.body.offsetHeight; } varwindowWidth,windowHeight; if(self.innerHeight){ windowWidth=self.innerWidth; windowHeight=self.innerHeight; }elseif(document.documentElement&&document.documentElement.clientHeight){ windowWidth=document.documentElement.clientWidth; windowHeight=document.documentElement.clientHeight; }elseif(document.body){ windowWidth=document.body.clientWidth; windowHeight=document.body.clientHeight; } if(yScroll<windowHeight){ pageHeight=windowHeight; }else{ pageHeight=yScroll; } if(xScroll<windowWidth){ pageWidth=windowWidth; }else{ pageWidth=xScroll; } arrayPageSize=newArray(pageWidth,pageHeight,windowWidth,windowHeight) returnarrayPageSize; } varAdMoveConfig=newObject(); AdMoveConfig.IsInitialized=false; AdMoveConfig.ScrollX=0; AdMoveConfig.ScrollY=0; AdMoveConfig.MoveWidth=0; AdMoveConfig.MoveHeight=0; AdMoveConfig.Resize=function(){ varwinsize=GetPageSize(); AdMoveConfig.MoveWidth=winsize[2]; AdMoveConfig.MoveHeight=winsize[3]; AdMoveConfig.Scroll(); } AdMoveConfig.Scroll=function(){ varwinscroll=getPageScroll(); AdMoveConfig.ScrollX=winscroll[0]; AdMoveConfig.ScrollY=winscroll[1]; } addEvent(window,"resize",AdMoveConfig.Resize); addEvent(window,"scroll",AdMoveConfig.Scroll); functionAdMove(id){ if(!AdMoveConfig.IsInitialized){ AdMoveConfig.Resize(); AdMoveConfig.IsInitialized=true; } varobj=document.getElementById(id); obj.style.position="absolute"; varW=AdMoveConfig.MoveWidth-obj.offsetWidth; varH=AdMoveConfig.MoveHeight-obj.offsetHeight; varx=W*Math.random(),y=H*Math.random(); varrad=(Math.random()+1)*Math.PI/6; varkx=Math.sin(rad),ky=Math.cos(rad); vardirx=(Math.random()<0.5?1:-1),diry=(Math.random()<0.5?1:-1); varstep=1; varinterval; this.SetLocation=function(vx,vy){x=vx;y=vy;} this.SetDirection=function(vx,vy){dirx=vx;diry=vy;} obj.CustomMethod=function(){ obj.style.left=(x+AdMoveConfig.ScrollX)+"px"; obj.style.top=(y+AdMoveConfig.ScrollY)+"px"; rad=(Math.random()+1)*Math.PI/6; W=AdMoveConfig.MoveWidth-obj.offsetWidth; H=AdMoveConfig.MoveHeight-obj.offsetHeight; x=x+step*kx*dirx; if(x<0){dirx=1;x=0;kx=Math.sin(rad);ky=Math.cos(rad);} if(x>W){dirx=-1;x=W;kx=Math.sin(rad);ky=Math.cos(rad);} y=y+step*ky*diry; if(y<0){diry=1;y=0;kx=Math.sin(rad);ky=Math.cos(rad);} if(y>H){diry=-1;y=H;kx=Math.sin(rad);ky=Math.cos(rad);} } this.Run=function(){ vardelay=10; interval=setInterval(obj.CustomMethod,delay); obj.onmouseover=function(){clearInterval(interval);} obj.onmouseout=function(){interval=setInterval(obj.CustomMethod,delay);} } } </script>
<scripttype="text/javascript"language="javascript">
varad2=newAdMove("ad2"); ad2.Run(); //多组漂浮 </script>