Javascript 循环一组名称,每隔一段时间执行一次操作

Javascript 循环一组名称,每隔一段时间执行一次操作,javascript,for-loop,Javascript,For Loop,在使用JavaScript/jQuery的HTML页面中,我有一个图像文件名数组(arListx)。在该页面上,我有一个名为show(pict)的例程,它以某种方式处理图像,然后显示它 我想通过在特定的时间间隔内运行每个图像来模拟幻灯片放映(pict) 到目前为止,我最幸运的是得到了要显示的最终图像(显然,所有图像都是通过代码运行的,但只有最后的显示) 根据我对5226285(settimeout-in-a-for-loop-and-pass-i-as-value)的解释,我得出以下结论: fu

在使用JavaScript/jQuery的HTML页面中,我有一个图像文件名数组(arListx)。在该页面上,我有一个名为show(pict)的例程,它以某种方式处理图像,然后显示它

我想通过在特定的时间间隔内运行每个图像来模拟幻灯片放映(pict)

到目前为止,我最幸运的是得到了要显示的最终图像(显然,所有图像都是通过代码运行的,但只有最后的显示)

根据我对5226285(settimeout-in-a-for-loop-and-pass-i-as-value)的解释,我得出以下结论:

function doSetTimeout(i) {
  setTimeout(function() { show(arListx[i]); }, 5000);
}
.
.
.
//[main]
for(i=0; i<arListx.length; i++) {
    doSetTimeout(i);
}
.
.
.
function show(pict) {
    $("#OurPicture").attr('src',pict);
  .
  .
  .
}
函数doSetTimeout(i){
setTimeout(函数(){show(arListx[i]);},5000);
}
.
.
.
//[主要]

对于(i=0;i您需要使用
i*5000
递增设置超时,以便它们显示为0、5000、10000、15000等。您编写的内容只需在5秒后调用它们

function doSetTimeout(i) {
  setTimeout(function() { show(arListx[i]); }, i*5000);
}
.
.
.
//[main]
for(i=0; i<arListx.length; i++) {
    doSetTimeout(i);
}
.
.
.
function show(pict) {
    $("#OurPicture").attr('src',pict);
  .
  .
  .
}
函数doSetTimeout(i){
setTimeout(函数(){show(arListx[i]);},i*5000);
}
.
.
.
//[主要]

对于(i=0;iOr),您可以只设置第一个超时,然后在
show
函数中,撞击计数器并设置另一个超时。谢谢你们。我必须研究一下这一点以了解发生了什么,但我已经合并了代码,它可以按照我的要求工作。