使用DOCTYPE会使最常用对联漂浮广告失效的解决方案

OK,在使用以下声明时,会使一个最常用的漂浮下拉广告失效

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
http://www.w3.org/1999/xhtml">

直接导致document.body.scrollTop永远等于0, body Scroll永远也不会引发。搜索了一下,发现了解决方案。

即是使用: document.documentElement.scrollTop 替代  document.body.scrollTop

点这里查看老外的详细分析

以下是正确的漂浮广告下拉代码,在所谓的"W3C标准"里可以正确运行
引用
var  delta = 0.15
var  collection;
function  floaters() {
this .items  =  [];
this .addItem  =   function (id,x,y,content)
{
document.write(
'   ' + content + '' );

var  newItem  =  {};
newItem.object 
=  document.getElementById(id);
newItem.x 
=  x;
newItem.y 
=  y;

this .items[ this .items.length]  =  newItem;
}
this .play  =   function ()
{
collection 
=   this .items
setInterval(
' play() ' , 10 );
}
}
function  play()
{

for ( var  i = 0 ;i {
var  followObj  =  collection[i].object;
var  followObj_x  =  ( typeof (collection[i].x) == ' string ' ? eval(collection[i].x):collection[i].x);
var  followObj_y  =  ( typeof (collection[i].y) == ' string ' ? eval(collection[i].y):collection[i].y);

if (followObj.offsetLeft != (document.body.scrollLeft + followObj_x)) {
var  dx = (document.body.scrollLeft + followObj_x - followObj.offsetLeft) * delta;
dx
= (dx > 0 ? 1 : - 1 ) * Math.ceil(Math.abs(dx));
followObj.style.left
= followObj.offsetLeft + dx;
}

if (followObj.offsetTop != (document.documentElement.scrollTop + followObj_y)) {
var  dy = (document.documentElement.scrollTop + followObj_y - followObj.offsetTop) * delta;
dy
= (dy > 0 ? 1 : - 1 ) * Math.ceil(Math.abs(dy));
followObj.style.top
= followObj.offsetTop + dy;
}
followObj.style.display 
=   '' ;
}


var  theFloaters  =   new  floaters();
theFloaters.addItem(
' followDiv1 ' , ' document.body.clientWidth-108 ' , 1 , ' http://sms.tom.com/pkly/pkly.html" target="_blank" />http://smsad.tom.com/smsweb/images/2005_new/cn/qp_100x400.gif" width="100" height="400" /> ' );

theFloaters.play();

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值