Привет, я использовал функцию 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 можно легко показать
Любая идея сделать это?
Вы можете использовать глобальную 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);
}
Вы можете объявить var вне функции в блоке скрипта, который будет действовать как глобальная переменная, а затем вы можете установить ее в функции и увеличить ее после каждого вызова до достижения предела массива и после достижения предела до 0,