javascript 关于setInterval() 怎么不无限循环下去问题 求大师解释啊 下面就是我自己写的两段代码

代码一这个是无限执行下去:<body><inputtype="button"value="移动"/><inputtype="button"value="停止"/><div... 代码一 这个是无限执行下去:
<body>
<input type="button" value="移动" />
<input type="button" value="停止" />
<div id="div1"></div>
<script type="text/javascript">
window.onload=function()
{
var odiv=document.getElementById('div1');
var input1=document.getElementsByTagName('input')[0];
var input2=document.getElementsByTagName('input')[1];
var timer=null;
input1.onclick=function()
{
timer=setInterval(function(){odiv.style.left=odiv.offsetLeft+10+'px';},100);
}
input2.onclick=function()
{

clearInterval(timer);

}
}

</script></body>

代码2就不是无限执行下去的哦:
就是把其中input1.onclick=function()
{
var move=odiv.style.left=odiv.offsetLeft+10+'px';
timer=setInterval(function(){move;},100);
}
求大师解释为什么哦?
展开
 我来答
jackwind1987
2013-01-21 · TA获得超过2738个赞
知道大有可为答主
回答量:1268
采纳率:50%
帮助的人:490万
展开全部
也是无限执行的,只不过是你move那里写错了,感觉什么都没变化。
move是一个变量,不是一个语句,你写move;什么都不会发生的。前面的那句var move=odiv.style.left=odiv.offsetLeft+10+'px';只是在input1点击的时候执行了一次。要弄清楚变量和语句的关系啊童鞋。如果写成这样效果和上面的代码就一样了
var move = function() {
odiv.style.left=odiv.offsetLeft+10+'px';
}
timer=setInterval(function(){move();},100);
cg329521
2013-01-21 · TA获得超过255个赞
知道小有建树答主
回答量:933
采纳率:0%
帮助的人:409万
展开全部
就是把其中input1.onclick=function()
{
var move=odiv.style.left=odiv.offsetLeft+10+'px';
setInterval(function(){move();},100);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
报告爱好者
2013-01-21 · TA获得超过902个赞
知道小有建树答主
回答量:561
采纳率:0%
帮助的人:158万
展开全部
语法有误,你的move只是一个变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式