У меня есть массив изображений с классом = "btn". При нажатии, слушатель заменяет btn.src изображением случайным образом из изображений arr.
Затем мне нужно иметь случайный-selected-item.src, который хранится в массиве для дальнейших операций. Я смог сделать случайную вставку изображения в класс btn, но не знаю, как каждый раз захватывать случайно выбранный элемент и вставлять их в массив для дальнейшей работы.
Короче, я пытаюсь проверить, имеют ли два выбранных элемента один и тот же src или нет.
var x = document.getElementsByClassName('btn');
for (var i = 0; i < x.length; i++) {
x[i].addEventListener('click', feedImages);
}
function feedImages(e) {
var images = ["image/1.png",
"image/2.png",
"image/3.png",
"image/4.png",
"image/5.png",
"image/6.png"];
var img = document.createElement("img");
img.src = images[Math.floor(Math.random()*images.length)];
document.getElementsByClassName("result").appendChild(img);
};
//как захватить this.img.src и нажимать их в новом массиве каждый раз, поэтому у меня будет что-то вроде
var newArr["selectedImage.png",....];
после того, как пользователь нажал на любой элемент
HTML выглядит просто. При срабатывании SRC случайным образом изменяется на новое изображение.
<img class="btn" src="btn.png">
<img class="btn" src="btn.png">
<img class="btn" src="btn.png">
<img class="btn" src="btn.png">
<img class="btn" src="btn.png">
Вы можете легко получить, используя случайное число в качестве индекса массива images
и используя его для newArr
а также в img.src
.
var x = document.getElementsByClassName('btn');
for (var i = 0; i < x.length; i++) {
x[i].addEventListener('click', feedImages);
}
var newArr = [];
function feedImages(e) {
var images = ["image/1.png",
"image/2.png",
"image/3.png",
"image/4.png",
"image/5.png",
"image/6.png"];
var img = document.createElement("img");
var randomVal = Math.floor(Math.random()*images.length);
newArr.push(images[randomVal]);
img.src = images[randomVal];
document.getElementsByClassName("result")[0].appendChild(img);
console.log(newArr);
};
<img class="btn" src="btn.png">
<img class="btn" src="btn.png">
<img class="btn" src="btn.png">
<img class="btn" src="btn.png">
<img class="btn" src="btn.png">
<div class='result'></div>
push()
-> Push новых элементов в массив