js 漂浮广告代码(支持一个页面多次使用,其中一个带关闭功能哦!^^)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title>无标题文档</title>
<script type="text/javascript">

<!--
function addEvent(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{
return obj.attachEvent("on"+ evtType,func);
}
}
else{
returnfalse;
}
}
function getPageScroll(){
var xScroll,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
=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;
}
elseif (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;
}
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
=new Array(pageWidth,pageHeight,windowWidth,windowHeight)
return arrayPageSize;
}
/*
例子
<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 =10;
interval
=setInterval(obj.CustomMethod,delay);
obj.onmouseover
=function(){clearInterval(interval);}
obj.onmouseout
=function(){interval=setInterval(obj.CustomMethod, delay);}
}
}

//-->
</script>


</head>

<body>
<div id="gg1" style="100px;height:100px;background-color:red;color:yellow">
广告1js漂浮广告代码

</div>
<div id="gg2" style="100px;height:100px;background-color:blue;color:yellow">
广告2js漂浮广告代码
</div>
<div id="gg3" style="100px;height:100px;background-color:green;color:yellow" onmousemove="_stop()" onmouseout="_start()">
<a href="#" onclick="this.parentNode.style.display='none';return false;" style="display:block; position:absolute; right:0px; top:0px;">关闭</a>

</div>
</div>
<script type="text/javascript">
<!--
var ad1=new AdMove("gg1");
ad1.Run();
var ad2=new AdMove("gg2");
ad2.Run();
var ad3=new AdMove("gg3");
ad3.Run();
//-->

function start() {
gg3.style.visibility
="visible";
interval
= setInterval('changePos()', delay);
}
start();


</script>
</body>
</html>



经验可以积累,但梦想永远不能磨灭
原文地址:https://www.cnblogs.com/lancee/p/2236127.html