您好,欢迎来到源码搜藏!分享精神,快乐你我!提示:担心找不到本站?在百度搜索“源码搜藏”,网址永远不丢失!
  • 首 页
  • 在线工具
  • 当前位置:首页 > 网页特效 > 滚动代码 >

    兼容多组的JS浮动广告【荐】

    时间:2014-06-08 15:24 来源:互联网 作者:源码搜藏 浏览:收藏 挑错 推荐 打印
    运行代码保存代码复制代码 提示:您可以先修改部分代码再运行,保存代码功能在Firefox下无效。
    • 很平滑自动适应屏幕分辨率的浮动广告效果,显示在Flash之上,不被任何风页元素遮挡,同时可以支持多个图片漂浮,速度和浮动随机位置都感觉不错,漂浮广告是我们经常用到的广告形式,站长的必备代码,相信你一定能用得上。
    • <SCRIPT type=text/javascript>
      function addEvent(obj,evtType,func,cap){
          cap=cap||false;
      if(obj.addEventListener){
           obj.addEventListener(evtType,func,cap);
         return true;
      }else if(obj.attachEvent){
              if(cap){
               obj.setCapture();
               return true;
           }else{
            return obj.attachEvent("on" + evtType,func);
         }
      }else{
         return false;
          }
      }
      function getPageScroll(){
          var xScroll,yScroll;
      if (self.pageXOffset) {
         xScroll = self.pageXOffset;
      } else if (document.documentElement && document.documentElement.scrollLeft){
         xScroll = document.documentElement.scrollLeft;
      } else if (document.body) {
         xScroll = document.body.scrollLeft;
      }
      if (self.pageYOffset) {
         yScroll = self.pageYOffset;
      } else if (document.documentElement && document.documentElement.scrollTop){
         yScroll = document.documentElement.scrollTop;
      } else if (document.body) {
         yScroll = document.body.scrollTop;
      }
      arrayPageScroll = new Array(xScroll,yScroll);
      return arrayPageScroll;
      }
      function GetPageSize(){
          var xScroll, yScroll;
          if (window.innerHeight && window.scrollMaxY) { 
              xScroll = document.body.scrollWidth;
              yScroll = window.innerHeight + window.scrollMaxY;
          } else if (document.body.scrollHeight > document.body.offsetHeight){
              xScroll = document.body.scrollWidth;
              yScroll = document.body.scrollHeight;
          } else {
              xScroll = document.body.offsetWidth;
              yScroll = document.body.offsetHeight;
          }
          var windowWidth, windowHeight;
          if (self.innerHeight) {
              windowWidth = self.innerWidth;
              windowHeight = self.innerHeight;
          } else if (document.documentElement && document.documentElement.clientHeight) {
              windowWidth = document.documentElement.clientWidth;
              windowHeight = document.documentElement.clientHeight;
          } else if (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 = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
          return arrayPageSize;
      }
       
      var AdMoveConfig=new Object();
      AdMoveConfig.IsInitialized=false;
      AdMoveConfig.ScrollX=0;
      AdMoveConfig.ScrollY=0;
      AdMoveConfig.MoveWidth=0;
      AdMoveConfig.MoveHeight=0;
      AdMoveConfig.Resize=function(){
          var winsize=GetPageSize();
          AdMoveConfig.MoveWidth=winsize[2];
          AdMoveConfig.MoveHeight=winsize[3];
          AdMoveConfig.Scroll();
      }
      AdMoveConfig.Scroll=function(){
          var winscroll=getPageScroll();
          AdMoveConfig.ScrollX=winscroll[0];
          AdMoveConfig.ScrollY=winscroll[1];
      }
      addEvent(window,"resize",AdMoveConfig.Resize);
      addEvent(window,"scroll",AdMoveConfig.Scroll);
      function AdMove(id){
          if(!AdMoveConfig.IsInitialized){
              AdMoveConfig.Resize();
              AdMoveConfig.IsInitialized=true;
          }
          var obj=document.getElementById(id);
          obj.style.position="absolute";
          var W=AdMoveConfig.MoveWidth-obj.offsetWidth;
          var H=AdMoveConfig.MoveHeight-obj.offsetHeight;
          var x = W*Math.random(),y = H*Math.random();
          var rad=(Math.random()+1)*Math.PI/6;
          var kx=Math.sin(rad),ky=Math.cos(rad);
          var dirx = (Math.random()<0.5?1:-1), diry = (Math.random()<0.5?1:-1);
          var step = 1;
          var interval;
          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(){
              var delay = 10;
              interval=setInterval(obj.CustomMethod,delay);
              obj.onmouseover=function(){clearInterval(interval);}
              obj.onmouseout=function(){interval=setInterval(obj.CustomMethod, delay);}
          }
      }
      </SCRIPT>
    兼容多组的JS浮动广告【荐】由源码搜藏网整理,转载请注明出处http://www.codesocang.com/texiao/gundong/8549.html
    标签:网站源码
    下一篇:没有了