DIV+CSS浮动广告

1:首先讲一下如何取得坐标的一些小问题
要获取当前页面的滚动条纵坐标位置,用:
document.documentElement.scrollTop;
而不是:
document.body.scrollTop;
documentElement 对应的是 html 标签,而 body 对应的是 body 标签。

在标准w3c下,document.body.scrollTop恒为0,需要用document.documentElement.scrollTop来代替;
如果你想定位鼠标相对于页面的绝对位置时,你会发现google里面1000篇文章里面有999.99篇会让你使用event.clientX+document.body.scrollLeft,event.clientY+document.body.scrollTop,如果你发现你的鼠标定位偏离了你的想象,请不要奇怪,这是再正常不过的事情。
ie5.5之后已经不支持document.body.scrollX对象了。
所以在编程的时候,请加上这样的判断
if (document.body && document.body.scrollTop && document.body.scrollLeft)
{
top=document.body.scrollTop;
left=document.body.scrollleft;
}
if (document.documentElement && document.documentElement.scrollTop && document.documentElement.scrollLeft)
{
top=document.documentElement.scrollTop;
left=document.documentElement.scrollLeft;
}
具体是一个小列子

<script>
var lastScrollY=0;
function heartBeat(){
var diffY;
if (document.documentElement && document.documentElement.scrollTop)
diffY = document.documentElement.scrollTop;
else if (document.body)
diffY = document.body.scrollTop
else
{/*Netscape stuff*/}

percent=.1*(diffY-lastScrollY);
if(percent>0)percent=Math.ceil(percent);
else percent=Math.floor(percent);
document.getElementById("adleft").style.top=parseInt(document.getElementById("adleft").style.top)+percent+"px";
document.getElementById("adright").style.top=parseInt(document.getElementById("adright").style.top)+percent+"px";
lastScrollY=lastScrollY+percent;
}

function adhide(names){document.getElementById(names).style.display='none';}
function screencl(names){if(screen.width<=800){adhide(names);}}
zcode="<div id='adleft' class='DlLeft' style='top:100px;'><div class='DlBorder'><!--左联 --></div><div align='right' class='Close'>  <img src='../images/close.gif' title='关闭 ' onclick=adhide('adleft') style='cursor:pointer'></div></div>";
ycode="<div id='adright' class='DlRight' style='top:100px;'><div style='DlBorder'><!--右联--></div><div align='left' class='Close'>  <img src='../images/close.gif' title='关闭 ' onclick=adhide('adright') style='cursor:pointer'></div></div>";
document.write(zcode);
document.write(ycode);
screencl('adleft');
screencl('adright');
window.setInterval("heartBeat()",1);

</script>


DIV的定义是这样


.DlLeft{
left:10px;
position: absolute;
z-index:1;
background:#fff;
}
.DlBorder{
overflow:auto;
border:#999 solid 1px;
}

.Close{
overflow:auto;
background-color:#FFFFFF;
font-size:0px;
}
.DlRight{
right:10px;
position: absolute;
background:#fff;
z-index:1;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值