Спасибо за помощь.
Сообщение от рони
|
var GALLERY = document.querySelector(".photos img");
|
Это переделал, только мне нужен
массив из картинок и я исправил так:
.querySelector(".photos img");
// На этот
.querySelectorAll(".photos img");
Добавил новый метод, который в зависимости от счётчика меняет картинку "вперёд" или "назад":
changeImg(modalImg, modalCaption, imagesArray, count) {
for (var i = 0;i<imagesArray.length; i++) {
if (modalImg.src === imagesArray[imagesArray.length-1].src && count === 1) {
modalImg.src = imagesArray[0].src;
modalImg.alt = imagesArray[0].alt;
modalCaption.innerHTML = modalImg.alt;
break;
} else if (modalImg.src === imagesArray[0].src && count === -1) {
modalImg.src = imagesArray[imagesArray.length-1].src;
modalImg.alt = imagesArray[imagesArray.length-1].alt;
modalCaption.innerHTML = modalImg.alt;
break;
} else if (modalImg.src === imagesArray[i].src) {
i += count;
modalImg.src = imagesArray[i].src;
modalImg.alt = imagesArray[i].alt;
modalCaption.innerHTML = modalImg.alt;
break; }
};
},
nextImg(modalImg, modalCaption, imagesArray) {
this.changeImg(modalImg, modalCaption, imagesArray, 1);
},
previousImg(modalImg, modalCaption, imagesArray) {
this.changeImg(modalImg, modalCaption, imagesArray, -1);
}