div+css下js对联广告不随屏幕滚动的解决方法

在页面上加了对联广告后发现不滚动,找了N久才发现是<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">这句导致不滚动的,可是如果去掉的话对于用DIV+CSS开发的网站来说又是灾难要另外找解决办法,应该是JS里有代码不符合W3C的标准

找了资料才知道是document.body不符合标准,换成document.documentElement就可以了,汗,纪念一下自己浪费的时间

本文转载自http://www.phpwind.net/read.php?tid=522770

 

以下为JS原文件,只要在首页调用就OK了。

function initEcAd() {
document.all.AdLayer1.style.posTop = -200;
document.all.AdLayer1.style.visibility = 'visible'
document.all.AdLayer2.style.posTop = -200;
document.all.AdLayer2.style.visibility = 'visible'
MoveLeftLayer('AdLayer1');
MoveRightLayer('AdLayer2');
}
function MoveLeftLayer(layerName) {
var x = 5;
var y = 84;// 左侧广告距离页首高度
var diff = (document.documentElement.scrollTop + y - document.all.AdLayer1.style.posTop)*.40;
var y = document.documentElement.scrollTop + y - diff;
eval("document.all." + layerName + ".style.posTop = parseInt(y)");
eval("document.all." + layerName + ".style.posLeft = x");
setTimeout("MoveLeftLayer('AdLayer1');", 20);
}
function MoveRightLayer(layerName) {
var x = 5;
var y = 84;// 右侧广告距离页首高度
var diff = (document.documentElement.scrollTop + y - document.all.AdLayer2.style.posTop)*.40;
var y = document.documentElement.scrollTop + y - diff;
eval("document.all." + layerName + ".style.posTop = y");
eval("document.all." + layerName + ".style.posRight = x");
setTimeout("MoveRightLayer('AdLayer2');", 20);
}

document.write("<div id=AdLayer1 style='position: absolute;visibility:hidden;z-index:1'><a href='http://www.youeclass.com/' target='_blank'><img src='/images/float.jpg' border='0' width=106 height=300></a><br /><font style='cursor:hand;' onclick='document.getElementById(\"AdLayer1\").style.visibility = \"hidden\";document.getElementById(\"AdLayer2\").style.visibility = \"hidden\";'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;×</font></div>"
+"<div id=AdLayer2 style='position: absolute;visibility:hidden;z-index:1'><a href='http://www.youeclass.com/' target='_blank'><img src='/images/float.jpg' border='0' width=106 height=300></a><br /><font style='cursor:hand;' onclick='document.getElementById(\"AdLayer1\").style.visibility = \"hidden\";document.getElementById(\"AdLayer2\").style.visibility = \"hidden\";'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;×</font></div>");
initEcAd()

// JavaScript Document

你可能感兴趣的:(div+css)