关闭

W3C中使用的对联漂浮广告代码

标签: cfunctionxhtmlscrollhtml
816人阅读 评论(1) 收藏 举报
分类:
使用<!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();

 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:37137次
    • 积分:762
    • 等级:
    • 排名:千里之外
    • 原创:34篇
    • 转载:13篇
    • 译文:2篇
    • 评论:3条
    文章分类
    最新评论