如何循环到设置间隔?(使用数组)-javascript
在我的代码中,我试图借助Matter.js插件一次画一个矩形。我想要的效果是: 我从数据库中得到应该绘制多少个矩形(在变量如何循环到设置间隔?(使用数组)-javascript,javascript,arrays,loops,setinterval,Javascript,Arrays,Loops,Setinterval,在我的代码中,我试图借助Matter.js插件一次画一个矩形。我想要的效果是: 我从数据库中得到应该绘制多少个矩形(在变量entradas[]中)。但我在数组中有很多位置,其中一个表示应该画多少个矩形。我用定时器“desenha”一个接一个地画出一个矩形,直到entradas[] 我的问题是我不能循环,当它从第一行绘制所有矩形时,它从第二行绘制下一个矩形,依此类推。。现在它只从第一行绘制矩形 这就是我试图做到的代码部分: var li=1; desenha=setInterval( f
entradas[]
中)。但我在数组中有很多位置,其中一个表示应该画多少个矩形。我用定时器“desenha
”一个接一个地画出一个矩形,直到entradas[]
我的问题是我不能循环,当它从第一行绘制所有矩形时,它从第二行绘制下一个矩形,依此类推。。现在它只从第一行绘制矩形
这就是我试图做到的代码部分:
var li=1;
desenha=setInterval(
function() {
if(categoria[li]){
entra=entradas[li];
tex=texturas[li];
}
if(rects<entradas[li]){
World.add(_world,
Bodies.rectangle( Math.round(Common.random(300,400)),-20,Math.round(Common.random(20,30)),Math.round(Common.random(20,30)), {
render: {
strokeStyle: '#ffffff',
sprite: {
texture: tex
}
}
})
);
}
}
, 500);
contagem=setInterval( function(){
if(rects<entradas[li]){
rects=rects+1;
document.getElementById("mytext").value = rects;
rectsmoney=rects*valor[1];
document.getElementById("mytext2").value = Math.round(rectsmoney);
}
},500);
if(rects>=entradas[li]){
rects=0;
li++;
}
var li=1;
desenha=设定间隔(
函数(){
if(范畴[li]){
entra=entradas[li];
tex=纹理[li];
}
if(rects包装setInterval函数并给它们一个临时作用域。。
由于desenha是一个全局变量,循环时它将重新分配desenha。更好的方法是保留一个全局数组来存储间隔
(function(li) { desenha[li] =setInterval(
function() {
if(categoria[li]){
entra=entradas[li];
tex=texturas[li];
}
if(rects<entradas[li]){
World.add(_world,
Bodies.rectangle( Math.round(Common.random(300,400)),-20,Math.round(Common.random(20,30)),Math.round(Common.random(20,30)), {
render: {
strokeStyle: '#ffffff',
sprite: {
texture: tex
}
}
})
);
}
}
, 500);
})(li);
(函数(li){desenha[li]=setInterval(
函数(){
if(范畴[li]){
entra=entradas[li];
tex=纹理[li];
}
如果(rectsCan)你发布整个循环(不仅仅是循环内部的代码),contagem做什么?@plbsamcontagem
是在desenha
绘制一个矩形的同时更改html文件中的值。我从这个循环中没有更多内容,上面的代码是我尝试的一个。另一个是:for(var li=1;li=entradas[li]){rects=0;}}
可能我做错了,但我不知道怎么做