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


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 相关文章推荐
PHP4实际应用经验篇(6)
Oct 09 PHP
关于mysql 字段的那个点为是定界符
Jan 15 PHP
定义php常量的详解
Jun 09 PHP
thinkphp备份数据库的方法分享
Jan 04 PHP
CodeIgniter删除和设置Cookie的方法
Apr 07 PHP
PHP统一页面编码避免乱码问题
Apr 09 PHP
ThinkPHP控制器详解
Jul 27 PHP
PHP中如何使用session实现保存用户登录信息
Oct 20 PHP
基于PHP制作验证码
Oct 12 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
Oct 23 PHP
PHP实现单例模式建立数据库连接的方法分析
Feb 11 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
php 批量生成html,txt文件的实现代码
2013/06/26 PHP
PHP函数之日期时间函数date()使用详解
2013/09/09 PHP
php简单的留言板与回复功能具体实现
2014/02/19 PHP
[对联广告] JS脚本类
2006/08/27 Javascript
HTML node相关的一些资料整理
2010/01/01 Javascript
js onkeypress与onkeydown 事件区别详细说明
2012/12/13 Javascript
javascript中interval与setTimeOut的区别示例介绍
2014/03/14 Javascript
js获取url中的参数且参数为中文时通过js解码
2014/03/19 Javascript
JavaScript使用Replace进行字符串替换的方法
2015/04/14 Javascript
深入学习JavaScript中的原型prototype
2015/08/13 Javascript
JavaScript实现的浏览器下载文件的方法
2017/08/09 Javascript
基于Vue框架vux组件库实现上拉刷新功能
2017/11/28 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
vue form check 表单验证的实现代码
2018/12/09 Javascript
vue实现移动端省市区选择
2019/09/27 Javascript
原生javascript实现类似vue的数据绑定功能示例【观察者模式】
2020/02/24 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
如何利用node转发请求详解
2020/09/17 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频4K
2018/12/05 DOTA
Python 命令行非阻塞输入的小例子
2013/09/27 Python
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
在Pycharm terminal中字体大小设置的方法
2019/01/16 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
详解java调用python的几种用法(看这篇就够了)
2020/12/10 Python
python推导式的使用方法实例
2021/02/28 Python
Web Service面试题:如何搭建Axis2的开发环境
2012/06/20 面试题
材料加工硕士生求职信
2013/10/10 职场文书
标准导师推荐信(医学类)
2013/10/28 职场文书
企划专员岗位职责
2013/12/09 职场文书
房地产财务部员工岗位职责
2014/03/12 职场文书
实习协议书范本
2014/09/25 职场文书
四年级小学生评语
2014/12/26 职场文书
Mysql 如何查询时间段交集
2021/06/08 MySQL
详细聊聊Oracle表碎片对性能有多大的影响
2022/03/19 Oracle
windows系统安装配置nginx环境
2022/06/28 Servers