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

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

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="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(’<DIV id=’+id+’ style="Z-INDEX: 10; POSITION: absolute; width:100px; height:450px;left:’+(typeof(x)==’string’?eval(x):x)+’;top:’+(typeof(y)==’string’?eval(y):y)+’">’+content+’</DIV>’);
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<collection.length;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,’<a href=\"http://sms.tom.com/pkly/pkly.html\" target=\"_blank\" /><img border=0 src=\"http://smsad.tom.com/smsweb/images/2005_new/cn/qp_100x400.gif\" width=\"100\" height=\"400\" /></a>’);
theFloaters.play();

另,也会影响JS下拉菜单.

文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
评论: 0 | 引用: 0 | 查看次数: 2783
 
 
发表评论
昵 称:
密 码: 游客发言不需要密码.
机器码: 为防止广告,请输入8182
答案是: 验证码
内 容:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 200 字 | UBB代码 关闭 | [img]标签 关闭