Javascript 每5秒循环一次功能,然后在最后一次后重置
我需要循环通过函数切换块,以便函数将作为切换块1运行;开关片2;等但它必须是每5秒一次的i++。我试着把时间间隔放在循环中,但也没用。另外,在i=5后,我希望它复位Javascript 每5秒循环一次功能,然后在最后一次后重置,javascript,jquery,loops,timer,Javascript,Jquery,Loops,Timer,我需要循环通过函数切换块,以便函数将作为切换块1运行;开关片2;等但它必须是每5秒一次的i++。我试着把时间间隔放在循环中,但也没用。另外,在i=5后,我希望它复位 window.setInterval(function(){ for(var i = 1; i < 5; i++){ switch_tiles(i); } }, 5000); 试试这个: var i = 1; function myFunction() { if (i > 5) i = 1;
window.setInterval(function(){
for(var i = 1; i < 5; i++){
switch_tiles(i);
}
}, 5000);
试试这个:
var i = 1;
function myFunction() {
if (i > 5)
i = 1;
switch_tiles(i++);
window.setTimeout(myFunction, 5000);
}
myFunction();
你只需要告诉我你想在任何时候做什么就做什么。此外,这一切都取决于您的平铺是在base-0还是base-1。您可以将i++放在开关之前或之后,您想要的可能是这样的:
window.setInterval(function(){
switch_tiles(i++);
if (i>5) i=0;
}, 5000);
这将每5秒运行一次函数,每次增加参数
请注意,这使用了一个全局变量窗口。我认为它有点脏…你知道如何在计数器达到5时重置计数器吗?可能是@ialarmedalien的重复项我想我只需要做一个简单的ifi===5{i=1}或类似的操作。这无法在1处重新开始。它正在工作!!!这是一把小提琴:不,它坏了。它的哪一部分不能在1时重新开始还不够清楚?很简单!只需在第5次跑步后将“i”设置为0。你只是乐意给别人负面反馈吗?!是的,如果你指出你的答案不符合OP的要求,那么你就应该得到负面反馈。它应得的原因是什么?其他不太了解情况的人也会来这篇文章寻找答案。如果他们选择了你的答案,他们会疑惑为什么它不起作用,如何修复它,这只会产生另一个问题,而你可以修复或删除它。任何一个都可以。感谢您修复它。这正是我所需要的,我在开始时更改了它,因此I=2,因为它已经出现在tile 1上,这对我来说是一个错误,但非常感谢!如果允许的话,我会接受这个答案to@Reece,不用担心!您可以随时将已接受的答案更改为已完成的答案;
var i = 1;
function myFunction() {
if (i > 5)
i = 1;
switch_tiles(i++);
window.setTimeout(myFunction, 5000);
}
myFunction();
i = 0;
window.setInterval(function() {
i++;
if(i > 5){
i = 1;
}
switch_tiles(i)
}, 5000);
window.setInterval(function(){
switch_tiles(i++);
if (i>5) i=0;
}, 5000);