javascript - 循环一组名称,每隔一段时间采取行动

标签 javascript for-loop

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

我想通过以特定的时间间隔通过 show(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);
  .
  .
  .
}

我显然做错了什么,希望得到任何建议。

最佳答案

您需要使用 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);
  .
  .
  .
}

关于javascript - 循环一组名称,每隔一段时间采取行动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24021935/

相关文章:

java - 如何循环按钮?

Python+mysql - 在for循环中构建插入语句

javascript - 如何使箭头功能在 IOS 9.3.1 上工作?

javascript - JavaScript 中的对象没有返回值

javascript - 动态 Controller 未启动

java - 生成给定数字的金字塔?

javascript - 通过远程 JavaScript 循环创建多个天气馈送器

javascript - XPath 选择在 Microsoft Edge 中不起作用(在 Chrome 和 Firefox 中有效)

linux - 前置符号链接(symbolic link)文件名

php - foreach 循环里面的 while 循环在 php 中给出了意想不到的结果