Muranx
@Muranx
кто понял this тот в цирке не смеётся

Как при клике на картинку вывести её в большом блоке?

Не могу никак придумать, как загружать картинку в "просмотрщик" при клике. Для большего понимания, сделал минималистичный дизайн, который отражает суть проблемы, код можно скопировать прямо в code-pen.io, чтобы было всё нагляднее:
HTML:
<div class="wrapper">
    <div class="sliderWindow"></div>
  
  <div class="miniImgWrap">
        <div class="miniImg"></div>
        <div class="miniImg"></div>
        <div class="miniImg"></div>
   </div>
</div>

CSS:
.wrapper{
  width: 300px;
  height: 300px;
  border: 1px solid;
}

.sliderWindow{
  width: 90%;
  height: 70%;
  margin: 10px auto;
  border: 1px solid;
}

.miniImgWrap{
  width: 90%;
  margin: 0 auto;
  display: flex;
  justify-content: space-around;
}

.miniImg{
  width: 60px;
  height: 60px;
  border: 1px solid;
  display: inline-block;
}

Ну и собственно JS, комментарии для пояснения, что и для чего прямо в коде:
sw.document.getElementById("sliderWindow"); // большая картинка
mi.document.getElementsByClassName("miniImg"); //маленькие картинки

var arrOfImg=["1.jpg", "2.jpg", "3.jpg"]; //массив с картинками

function startImg(){ //фукнция для вставки начальных картинок в маленькие окошечки (т.е. маленькие картинки)
    for(var i=0; i<mi.length; i++){
        mi[i].style.backgroundImage="url(img/"+arrimg[i]+")"
    }
};


for(var k=0; k<mi.lenght; k++){ //а вот собственно висяк, никак не приходит в голову, как можно присвоить при клике значение backgroundImage маленькой картинкИ В большую картинку
  mi[k].onclick=function(){/*...*/} // (*)
};


Соственно добавить нечего, ответ прошу написать на таком-же топорном JS коим написан вопрос (ну разумеется грамотно), так-как я не знаю ни jquery ни react ни node.js , и имя своей кошки тоже не знаю! Спс
  • Вопрос задан
  • 1782 просмотра
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 2
@MamaLuyba
если порядок больших картинок не меняется, то можно на клик присваивать картинку из массива с картинками.
for(var k=0; k<mi.lenght; k++){ //а вот собственно висяк, никак не приходит в голову, как можно присвоить при клике значение backgroundImage маленькой картинкИ В большую картинку
  mi[k].onclick=function(){
  mi[k].style.backgroundImage = arrOfImg[k];
} // (*)
};
Ответ написан
mrsexy
@mrsexy
Senior Pomidor
Мб тогда готовое решение в виде slick slider или owlCarousel? - Они имеют такой же функционал, что и у вас на картинке.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы