循环setinterval停止javascript

时间:2013-12-11 20:20:30

标签: javascript jquery html

这是我的代码。

这可能是一个愚蠢的问题,但我真的需要帮助!

谢谢,这是我的代码:

<script>
function dodat(){
var btn=document.createElement("div");
btn.style.width="25px";
btn.style.height="25px";
btn.style.backgroundColor="red";
btn.style.boxShadow="inset 0px 0px 0px 2px black";
btn.style.position="absolute";
btn.style.left="0px";
mycars = new Array();
numba = Math.round(Math.random()*1000);
btn.id=numba;
mycars[numba] = 0;
setInterval('mycars[numba] = mycars[numba]+1;document.getElementById(numba).style.left=mycars[numba];', '10');

document.getElementById("track").appendChild(btn);
}
</script>

<body>

<div style="background-color:#c3c3c3;width:500px;height:25px;overflow:hidden;position:relative;" id="track"></div>
</body>

<script>
setInterval("dodat();", "1000");
</script>

我想要它,这样当一个新的blob被调用时,最后一个blob会继续,直到它进入另一侧的末尾,而不是在调用一个新的blob时停止。

我对任何解决方案,JavaScript,jQuery或任何你喜欢的东西都没关系。 :)

2 个答案:

答案 0 :(得分:1)

您的setInterval函数已关闭。 setInterval采用函数和时间(毫秒)

setInterval(function(){
  //code
}, 30000);

答案 1 :(得分:1)

如果你想保留你尝试的格式:

setInterval(step,timeToStep);

在这种情况下,步骤是一个函数

var step = function(){ ... };

时间只是你的时间

var timeToStep = 1000;

甚至将其设置为var

stepping  = setInterval(step,timeToStep);
这样,如果您喜欢clearInterval(stepping);

,就可以更清晰地调用清除间隔