兼容各大浏览器带关闭按钮的漂浮多组图片广告代码


Posted in PHP onJune 05, 2014

JS部分: 

<script type="text/javascript" language="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>
<script type="text/javascript" language="javascript"> 
    var ad2 = new AdMove("ad2");
    ad2.Run();
    //多组漂浮
</script>

html部分:

<DIV id=ad2 style="Z-INDEX: 5;position:relative"><a href='PoliceHTk.aspx' target='_blank'><IMG src="images/fudong/fudong.jpg" width="230" height="150" border="0" > </a><br> <a href="#" onclick="document.getElementById('ad2').style.display='none'">                   <img border=0 src=images/fudong/close1.gif /></a> 
</DIV>
PHP 相关文章推荐
php遍历数组的方法分享
Mar 22 PHP
将时间以距今多久的形式表示,PHP,js双版本
Sep 25 PHP
phpize的深入理解
Jun 03 PHP
PHP实现变色验证码实例
Jan 06 PHP
win7计划任务定时执行PHP脚本设置图解
May 09 PHP
Yii结合CKEditor实现图片上传功能
Jun 13 PHP
php实现斐波那契数列的简单写法
Jul 19 PHP
php身份证号码检查类实例
Jun 18 PHP
高质量PHP代码的50个实用技巧必备(下)
Jan 22 PHP
php语言的7种基本的排序方法
Dec 28 PHP
php生成Android客户端扫描可登录的二维码
May 13 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
Dec 07 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
Jun 05 #PHP
一组PHP加密解密函数分享
Jun 05 #PHP
php导出csv格式数据并将数字转换成文本的思路以及代码分享
Jun 05 #PHP
php 购物车完整实现代码
Jun 05 #PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
Jun 04 #PHP
浅谈PHP调用Webservice思路及源码分享
Jun 04 #PHP
利用谷歌 Translate API制作自己的翻译脚本
Jun 04 #PHP
You might like
JAVA/JSP学习系列之二
2006/10/09 PHP
有关php运算符的知识大全
2011/11/03 PHP
PHP删除HTMl标签的实现代码
2013/06/30 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
ie和firefox中img对象区别的困惑
2006/12/27 Javascript
(JS实现)MapBar中坐标的加密和解密的脚本
2007/05/16 Javascript
js 加载时自动调整图片大小
2008/05/28 Javascript
javascript 流畅动画实现原理
2009/09/08 Javascript
jQuery的三种$()
2009/12/30 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
JQuery设置获取下拉菜单某个选项的值(比较全)
2014/08/05 Javascript
javascript中基本类型和引用类型的区别分析
2015/05/12 Javascript
JavaScript实现倒计时代码段Item1(非常实用)
2015/11/03 Javascript
jQuery弹出下拉列表插件(实现kindeditor的@功能)
2016/08/16 Javascript
js拼接html字符串的注意事项
2016/10/13 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
一种angular的方法级的缓存注解(装饰器)
2018/03/13 Javascript
深入理解Puppeteer的入门教程和实践
2019/03/05 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
javascript 数组精简技巧小结
2020/02/26 Javascript
Node.js 中如何收集和解析命令行参数
2021/01/08 Javascript
[03:21]辉夜杯主赛事 12月25日TOP5
2015/12/26 DOTA
详解在Python中处理异常的教程
2015/05/24 Python
解析Python中的eval()、exec()及其相关函数
2017/12/20 Python
wxpython实现图书管理系统
2018/03/12 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
2018/08/16 Python
PyTorch中Tensor的拼接与拆分的实现
2019/08/18 Python
Python pickle模块实现对象序列化
2019/11/22 Python
Python获取、格式化当前时间日期的方法
2020/02/10 Python
python使用列表的最佳方案
2020/08/12 Python
Python如何实现Paramiko的二次封装
2021/01/30 Python
经济担保书范文
2014/04/02 职场文书
党员一帮一活动总结
2014/07/08 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
四风自我剖析材料思想汇报
2014/10/01 职场文书
涨价通知
2015/04/23 职场文书