Показать сообщение отдельно
  #3 (permalink)  
Старый 09.08.2019, 15:34
Новичок на форуме
Отправить личное сообщение для persi005 Посмотреть профиль Найти все сообщения от persi005
 
Регистрация: 09.08.2019
Сообщений: 5

Спасибо за помощь.

Сообщение от рони Посмотреть сообщение
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);
}
Ответить с цитированием