У меня есть галерея изображений, которая извлекает случайные изображения из папки images / flip_images /.Файлы называются как числа, а затем .jpg, например, 0.jpg, 1.jpg и т. Д. Имеется 14 изображений, из которых он может выбрать, с маркировкой 0 - 13. Поскольку существует только 14 изображений, и странице нужно 4 изображения одновременно.Есть довольно много повторений, которых я хотел бы избежать.Я использую Javascript для генерации случайных имен файлов изображений и передачи переменных в команду JQuery .flip ().
Я попытался использовать цикл do while в приведенном ниже коде, чтобы изменить глобальную переменную, сравнить глобальную переменнуюПерейдите к другим и выберите другой номер, если номер, который он выбрал, уже используется.Однако я не могу заставить это работать.Это проблема области или я просто допустил простую ошибку в коде?Вот код:
var randomNumber0= 0;
var randomNumber1= 1;
var randomNumber2= 2;
var randomNumber3= 3;
var refreshId0 = setInterval(function(){
var $this = $(this);
do {
randomNumber0=Math.floor(Math.random()*14)
}while(randomNumber0 == randomNumber1 || randomNumber0 == randomNumber2 || randomNumber0 == randomNumber3){
randomNumber0=Math.floor(Math.random()*14)
};
$("#flipboxa").flip({
direction: 'lr',
color: "transparent",
content: '<img src="images/flip_images/'+randomNumber0+'.jpg" width="120" height="275" alt="alt tag here" />',
});
return false;
}, 5000);
var refreshId1 = setInterval(function(){
var $this = $(this);
do {
randomNumber1=Math.floor(Math.random()*14)
}while(randomNumber1 == randomNumber0 || randomNumber1 == randomNumber2 || randomNumber1 == randomNumber3){
randomNumber1=Math.floor(Math.random()*14)
};
$("#flipboxb").flip({
direction: 'rl',
color: "transparent",
content: '<img src="images/flip_images/'+randomNumber1+'.jpg" width="120" height="275" alt="alt tag here" />',
});
return false;
}, 6000);
var refreshId2 = setInterval(function(){
var $this = $(this);
do {
randomNumber2=Math.floor(Math.random()*14)
}while(randomNumber2 == randomNumber0 || randomNumber2 == randomNumber1 || randomNumber2 == randomNumber3){
randomNumber2=Math.floor(Math.random()*14)
};
$("#flipboxc").flip({
direction: 'lr',
color: "transparent",
content: '<img src="images/flip_images/'+randomNumber2+'.jpg" width="120" height="275" alt="alt tag here" />',
});
return false;
}, 7000);
var refreshId3 = setInterval(function(){
var $this = $(this);
do {
randomNumber3=Math.floor(Math.random()*14)
}while(randomNumber3 == randomNumber0 || randomNumber3 == randomNumber1 || randomNumber3 == randomNumber2){
randomNumber3=Math.floor(Math.random()*14)
};
$("#flipboxd").flip({
direction: 'rl',
color: "transparent",
content: '<img src="images/flip_images/'+randomNumber3+'.jpg" width="120" height="275" alt="alt tag here" />',
});
return false;
}, 8000);