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);
}
求大师解释为什么哦? 展开
<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);
}
求大师解释为什么哦? 展开
3个回答
展开全部
也是无限执行的,只不过是你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);
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);
展开全部
就是把其中input1.onclick=function()
{
var move=odiv.style.left=odiv.offsetLeft+10+'px';
setInterval(function(){move();},100);
}
{
var move=odiv.style.left=odiv.offsetLeft+10+'px';
setInterval(function(){move();},100);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
语法有误,你的move只是一个变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询