Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript svg创建元素所有3秒,直到i为x_Javascript_Html_Svg - Fatal编程技术网

Javascript svg创建元素所有3秒,直到i为x

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

我试图找出如何在3秒钟内创建svg元素,直到I==x.length

我尝试了很多方法,但我找不到答案。目前,这是我的代码:

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'放入循环条件时,它仍然不工作。所有图元都是同时创建的。我甚至不知道哪个代码片段可能是问题所在