兼容ie的飘窗

首先html页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript" src="float.js"></script>
</head>
<body style="height:1000px">
<!--漂浮开始-->
<div id=ad1 style="Z-INDEX: 5">
    <a href="#" target=_blank><img src="1.gif"></a>
</div>
<!--漂浮结束-->
<script type=text/javascript>
    var ad1=new AdMove("ad1");
    ad1.Run();
</script>
</body>
</html>

引入float.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;

}



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);}

}

}
阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页