在使用JavaScript / jQuery的HTML页面中,我有一个图像文件名(arListx)数组。在那个页面上,我有一个名为show(pict)的例程,它以某种方式处理图像,然后显示它。
我想通过以特定间隔通过show(pict)运行每个图像来模拟幻灯片。
到目前为止,我所拥有的最好的运气是显示最终图像(显然,所有图像都是通过代码运行的,但只有最后一个显示)。
使用我对5226285(settimeout-in-a-for-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);
.
.
.
}
我显然做错了什么并且会感激任何建议。
答案 0 :(得分:2)
您需要使用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);
.
.
.
}