小问题,你懂得!~~

yuxiivy 2012-07-30 06:46:55
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<title> New Document </title>

<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">

<script type="text/JavaScript" language="JavaScript">
var x=50, y=60;
var xin= true, yin = true;
var step=1;

var obj=document.getElementById("ad");
function floatAd(){
var L=T=0;
var R=document.body.clientWidth-110;
var B=document.body.clientHeight-110;
obj.style.left=x+document.body.scrollLeft;
obj.style.top=y+document.body.scrollTop;
x=x+step*(xin?1:-1);
if(x>R)
{
xin=false;
x=R;
}
if(x<L)
{
xin=true;
X=L;
}

y=y+step*(yin?1:-1);
if(y>B)
{
yin=false;
y=R;
}
if(y<T)
{
yin=true;
y=T;
}
}

var it1=setInterval("floatAd()",10);
obj.onmouseover=function(){clearInterval(it1)};
obj.onmouseout=function(){it1=setInterval("floatAd()",10)};



</script>

</head>

<body>
<div id="ad" style="position:absolute;"><a href="http:\\www.baidu.com" target="new"><img src="ad.jpg" /></a></div>
</body>
</html>


chrome跟firebug在 obj.style.left=x+document.body.scrollLeft; 跟 obj.onmouseover=function(){clearInterval(it1)};报错了。。。。。。可是?why????不理解怎么错了,要怎么改~~~~~~~~谢谢拉

...全文
56 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
koflyby 2012-07-30
  • 打赏
  • 举报
回复
代码是从上往下解析执行的,在走你这段JS代码的时候,下面的dom节点还没有生成,当然会出错。
在body标签上增加onload事件,把你一整段JS代码,放在一个自定义的function中。。

<body onload="loadInit()">
乌镇程序员 2012-07-30
  • 打赏
  • 举报
回复
JS代码放到body标签中(id为ad的div标签后面),下面两行代码需要加上单位px:
            obj.style.left=x+document.body.scrollLeft + 'px';
obj.style.top=y+document.body.scrollTop + 'px';

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧