Javascript svg创建元素所有3秒,直到i为x
我试图找出如何在3秒钟内创建svg元素,直到I==x.length 我尝试了很多方法,但我找不到答案。目前,这是我的代码:Javascript svg创建元素所有3秒,直到i为x,javascript,html,svg,Javascript,Html,Svg,我试图找出如何在3秒钟内创建svg元素,直到I==x.length 我尝试了很多方法,但我找不到答案。目前,这是我的代码: for (var i = 0; i < whichBloons.length; i++) { setTimeout(function(i) { bloons[i].create(bloonCounter[i]); }, 10000, i); } } 我知道我做错了什么,但我尝试了几个小时,在谷歌上搜索了几个小时,但仍然没有任何线索 有人能帮我吗?s
for (var i = 0; i < whichBloons.length; i++) {
setTimeout(function(i) {
bloons[i].create(bloonCounter[i]);
}, 10000, i);
}
}
我知道我做错了什么,但我尝试了几个小时,在谷歌上搜索了几个小时,但仍然没有任何线索
有人能帮我吗?setTimeout方法将提供的函数延迟指定的时间量(毫秒)。与其将其设置为10000毫秒的恒定持续时间,不如根据计数器i设置它。每3秒大约是i+1*3000
像这样:
for (var i = 0; i < whichBloons.length; i++) {
setTimeout(function(i) {
bloons[i].create(bloonCounter[i]);
}, (i+1) * 3000, i);
}
在这种情况下,它仍然是一样的。它会在3秒后产生14个Bloon。但它应该在3秒后产生一个Bloon,直到产生14个Bloon。我希望你能跟我来。我为你做了一把小提琴:我用的是div,但SVG应该是一样的。看起来问题出在你代码的其他地方…我现在明白了。我的“whichBloons”数组的大小为1。这是因为“whichBloons”指的是bloon的类型。这样:whichBloons=[0];bloonCounter=[14];因此,我想在3秒钟内创建14次类型“0”。有可能吗?当然有。只需将for循环更改为循环14次。您可以对var i=0执行类似的操作;当我将'14'放入循环条件时,它仍然不工作。所有图元都是同时创建的。我甚至不知道哪个代码片段可能是问题所在