兼容IE\Firefox,支持W3C XHTML标准---------漂浮广告代码

声明哦:代码出自http://www.zdxz.cn  内容由个人整理

<!---------------------------------一般常用方法---------------------------------->

一:常规

<script type="text/javascript" language="javascript">  
var ad=new AdMove("IDName");  

ad.Run(); 

</script> 

二:在页面加载完成时调用,就不用考虑位置了 

<script type="text/javascript" language="javascript">  
addEvent(window,"load",initad);  
function initad(){  
var ad=new AdMove("div的id");  
ad.Run();  
}  
</script>  

还有两个方法一般情况下没什么用,有兴趣的可以试试,功能是设置漂浮的起始坐标和方向的,如果省掉的话是随机位置随机方向
ad.SetLocation(x,y)
ad.SetDirection(dirx,diry)
SetDirection 方法挺有意思的,如果某个参数为0则只会横走或竖走了,如果都为0,那么就。。。不动了。

<!------------------------------------------- 这里二个demo是我很喜欢的,方便以后自己查找----------------------------------->

demo1: 

<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
<title>多个漂浮广告代码,兼容IE、Firefox,支持W3C XHTML标准</title>  
<script type="text/javascript" language="javascript">  
<!--  
//公共脚本文件 main.js  
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;  
}  
//广告脚本文件 AdMove.js  
/* 
例子 
<div id="Div2"> 
    ***** content ****** 
</div> 
var ad=new AdMove("Div2"); 
ad.Run(); 
*/  
////////////////////////////////////////////////////////  
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 = 25;//移动速度  
        interval=setInterval(obj.CustomMethod,delay);  
        obj.onmouseover=function(){clearInterval(interval);}  
        obj.onmouseout=function(){interval=setInterval(obj.CustomMethod, delay);}  
    }  
}  
//-->  
</script>  
</head>  
  
<body>  
<script type="text/javascript">  
<!--  
var ad1=new AdMove("ad1");  
ad1.Run();  
var ad2=new AdMove("ad2");  
ad2.Run();  
ad2.SetLocation(50,100)  
ad2.SetDirection(1,1)  
//-->  
</script>  
</body>  
</html>

<!----------------demo2----------------->

<html>  

<head>  
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">  
<title>Rimifon 多实例漂浮广告源代码</title>  
<script language="javascript" type="text/javascript">  
var Rimifon = {  
    "Ads" : new Object,  
    "NewFloatAd" : function(imgUrl, strLink)  
    {  
        var ad = document.createElement("a");  
        ad.DirV = true;  
        ad.DirH = true;  
        ad.AutoMove = true;  
        ad.Image = new Image;  
        ad.Seed = Math.random();  
        ad.Timer = setInterval("Rimifon.Float(" + ad.Seed + ")", 50);  
        this.Ads[ad.Seed] = ad;  
        ad.Image.Parent = ad;  
        ad.style.position = "absolute";  
        ad.style.left = 0;  
        ad.style.top = 0;  
        ad.Image.src = imgUrl;  
        ad.Image.onmouseover = function(){this.Parent.AutoMove = false;}  
        ad.Image.onmouseout = function(){this.Parent.AutoMove = true;}  
        if(strLink)  
        {  
            ad.href = strLink;  
            ad.Image.border = 0;  
            ad.target = "_blank";  
        }  
        ad.appendChild(ad.Image);  
        document.body.appendChild(ad);  
        return ad;  
    },  
    "Float" : function(floatId)  
    {  
        var ad = this.Ads[floatId];  
        if(ad.AutoMove)  
        {  
            var curLeft = parseInt(ad.style.left);  
            var curTop = parseInt(ad.style.top);  
            if(ad.offsetWidth + curLeft > document.body.clientWidth + document.body.scrollLeft - 1)  
            {  
                curLeft = document.body.scrollLeft + document.body.clientWidth - ad.offsetWidth;  
                ad.DirH = false;  
            }  
            if(ad.offsetHeight + curTop > document.body.clientHeight + document.body.scrollTop - 1)  
            {  
                curTop = document.body.scrollTop + document.body.clientHeight - ad.offsetHeight;  
                ad.DirV = false;  
            }  
            if(curLeft < document.body.scrollLeft)  
            {  
                curLeft = document.body.scrollLeft;  
                ad.DirH = true;  
            }  
            if(curTop < document.body.scrollTop)  
            {  
                curTop = document.body.scrollTop;  
                ad.DirV = true;  
            }  
            ad.style.left = curLeft + (ad.DirH ? 1 : -1) + "px";  
            ad.style.top = curTop + (ad.DirV ? 1 : -1) + "px";  
        }  
    }  
}  
</script>  
</head>  
  
<body>  
<div style="height:800px"></div>  
<script language="javascript" type="text/javascript">  
Rimifon.NewFloatAd("http://www.baidu.com/img/baidu_logo.gif", "http://www.baidu.com/");  
var ad = Rimifon.NewFloatAd("http://www.google.com/intl/zh-CN/logos/Logo_60wht.gif","http://www.google.com/");  
ad.style.left = 400;  
ad.style.top = 300;  
ad.Image.width = 176;  
ad.Image.height = 77;  
</script>  
</body>  
</html> 

<!------------整理完毕--------------->

posted on 2011-06-24 15:24  费里曼  阅读(1264)  评论(2编辑  收藏  举报