Javascript 如何在同一时间创建更多超时或间隔

Javascript 如何在同一时间创建更多超时或间隔,javascript,image,canvas,Javascript,Image,Canvas,我有一个问题,使超时或间隔在一起。。。 我的问题是如何在同一时间创建多个超时或间隔。 我试着这样做: for (var i = images.length - 1; i >= 0; i--) { this.timer = setTimeout(function() { // some images to draw or remove multiply }, 1000); } 但它不起作用 例如: 当我点击画布时,

我有一个问题,使超时或间隔在一起。。。 我的问题是如何在同一时间创建多个超时或间隔。 我试着这样做:

    for (var i = images.length - 1; i >= 0; i--) {
        this.timer = setTimeout(function() { 
            // some images to draw or remove multiply 
        }, 1000);
    }
但它不起作用

例如: 当我点击画布时,我需要制作多重超时图像。自单击后,必须在一秒钟内删除所有图像


感谢所有的帮助,并为我糟糕的英语(学生)感到抱歉。

无论如何,设置几个同时结束的超时时间是绝对没有意义的。您的代码很好,只是最后一次超时的引用将存储在
this.timer
(谢谢@Ken)

正确的方法是:

this.timer = setTimeout(function() { 
    for (var i = images.length - 1; i >= 0; i--) {
        // do something to all images at the same time
    }
}, 1000);

您的循环只是将以前的
this.timer
替换为新的,因此最终您只有一个超时。每一个都需要一个新变量。@Skwal几乎正确,他会产生几个超时,但只引用最后一个one@Ken是的,我刚刚意识到,谢谢你指出。画画?这可能是有原因的。但我明白你的意思。有一个更好的方法可以做到这一点。@Seth因为所有超时都同时结束,我不确定有什么好的理由。+1@Skwal这是一个好的观点。可以在不同的时间调用不同的范围,但在OPs代码中没有这种迹象。单定时器是更好的方法。结合时间戳更好。@Skwal如果你想同时生成4个图像,但正如一位专家所说,更好的方法可以做到这一点。剥猫皮的方法不止一种。@Seth还有一个超时时间就足够了:)别误会我,你的答案也是对的,但对我来说,这是错误的逻辑。