当前位置:首页 > 网页特效 > 滚动代码 >

兼容多组的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>
由源码搜藏网整理,转载请注明出处https://www.codesocang.com/tx-gundong/8549.html
下一篇:没有了

滚动代码下载排行

最新文章