您好我使用setinterval函数来显示一些图像。我在数组中分配img src,然后通过数组显示所有图像。但问题是我使用随机选项来选择&在每个区间显示img。
var set = setInterval(function(){test();},2000);
function test() {
var img = new Array("red","green","blue","orange","yellow","balck");
var src = img[Math.floor(Math.random()*img.length)];
$(body).append(src);
}
以上代码是我试过的样本
现在我想按升序排列,就像阵列中的顺序一样,我应该能够看到图像。
我在for loop
内想到setInterval
,但会在每个间隔中显示所有图片。我不想那样。我想按升序获得每个图像的每个图像。
将任何变量设置为0并在结尾处递增它也没有用,因为一旦完成间隔,它将再次开始另一次执行,并在函数开始时设置为0。
是否有可能计算setInterval
中已经过的间隔数,因为ecah图像可以很容易地显示
有任何想法要做到这一点吗?
答案 0 :(得分:0)
您可以使用全局variable
并将其递增以显示数组的增量index
。当索引达到数组的长度时,您可以将其设置为zero
以使其循环。
var set = setInterval(function(){test();},2000);
currentIndex = 0;
function test() {
var img = new Array("red","green","blue","orange","yellow","balck");
if(currentIndex == img.length)
currentIndex = 0;
var src = img[currentIndex++];
$(body).append(src);
}
答案 1 :(得分:0)
您可以在脚本块中的函数外部声明一个var作为全局变量,然后您可以在函数中设置它并在每次调用后递增它,直到达到数组的限制并且一旦达到限制重置为0。