浮动广告不滚动 浮动QQ不正常

本文提供了一段改进后的浮动广告代码,该代码能够在不移除DOCTYPE声明的情况下正常工作。通过使用document.documentElement替换document.body,解决了广告框随页面滚动的问题,并保持了CSS的完整功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

可能有很多人在做浮动广告代码时,有时总发出他不滚动,或总会滚动到屏幕下面去,看都看不到。
然后把网页里的<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">这一句去了,也就可以了。

可这样又遇到问题了,这样的话,CSS里有些功能就不能实现,很是烦啊。下面给大家一个不去掉<!DOCTYPE 标签也能正常运行的广告代码。

<div id="Move" style="position: absolute; z-index:99999">
<img src="#" width="100">
<div onclick="closeMove()" style="cursor:pointer">关闭</div>
</div>
<script>
var x = 50,y = 60 ;
var xin = true, yin = true ;
var step = 2 ;
var delay = 20;
var obj=document.getElementById("Move");
function floatMove() {
var L=T=0 ;
var R= document.documentElement.clientWidth-obj.offsetWidth ;
var B = document.documentElement.clientHeight-obj.offsetHeight ;
obj.style.left = x + document.documentElement.scrollLeft ;
obj.style.top = y + document.documentElement.scrollTop;
x = x + step*(xin?1:-1) ;
if (x < L) { xin = true; x = L} 
if (x > R){ xin = false; x = R} 
y = y + step*(yin?1:-1);
if (y < T) { yin = true; y = T } 
if (y > B) { yin = false; y = B } 
}
var itl= setInterval("floatMove()", delay) 
obj.onmouseover=function(){clearInterval(itl)} 
obj.onmouseout=function(){itl=setInterval("floatMove()", delay)}
function closeMove()
{
 clearInterval(itl)
 document.getElementById("Move").style.display="none";
}

</script>

这样就可以了。
其实这里也就是把document.body.*改为document.documentElement.*

document.clientHeight,document.clientwidth,同理

就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值