日期:2014-05-16  浏览次数:20482 次

看下这段代码,想优化下
HTML code

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<SCRIPT LANGUAGE="JavaScript">
function initEcAd() {
document.all.AdLayer1.style.posTop = -200;//设置onLoad事件激发以后,广告层相对于固定后的y方向位置
document.all.AdLayer1.style.visibility = 'visible'//设置层为可见
MoveLayer1('AdLayer1');//调用函数MoveLayer()
}
function MoveLayer1(layerName) {
var x = 5;//浮动广告层固定于浏览器的x方向位置
var y =document.documentElement .clientHeight/2-25;//浮动广告层固定于浏览器的y方向位置
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 = y");
eval("document.all." + layerName + ".style.posLeft = x");//移动广告层
setTimeout("MoveLayer1('AdLayer1');", 20);//设置20毫秒后再调用函数MoveLayer1()
}
document.write("<div id=AdLayer1 style='position: absolute;visibility:hidden;z-index:1'><img src=http://img.baidu.com/img/logo-zhidao.gif></div>");
initEcAd()
</SCRIPT>

</body>
</html>



document.write("<div id=AdLayer1 style='position: absolute;visibility:hidden;z-index:1'><img src=http://img.baidu.com/img/logo-zhidao.gif></div>");要将这段代码放到js外面去改怎么写

这个代码我比较喜欢的就是当浏览器大小发生变化时,图片都会移动,比需要刷新,谁有好这个功能的好的代码也可以发出来

------解决方案--------------------

1. 变量名字混乱
2. 兼容性差 document.all
------解决方案--------------------
1、20ms太快了 再怎么优化也不行
2、元素属性操作过多 dom重绘重载频繁