На моей странице есть блоки с большими изображениями (одно отображается, остальные скрыты). На моей странице также есть div с миниатюрами.
http://www.jordy.studio/paintings_new
После нажатия на миниатюру я хотел бы скрыть текущее большое изображение и показать соответствующее большое изображение.
Я новичок в jQuery. Перемещение по миниатюрам работает так, как мне нравится:
// Slider
var divs = $('.expo');
divs.hide().first().show();
$("#next").click(function(e) {
divs.eq(now).hide("slide", {
direction: "left"
}, 300);
now = (now + 1 < divs.length) ? now + 1 : 0;
divs.eq(now).show("slide", {
direction: "right"
}, 300);
updateCounter();
});
$("#prev").click(function(e) {
divs.eq(now).hide("slide", {
direction: "right"
}, 300);
now = (now > 0) ? now - 1 : divs.length - 1;
divs.eq(now).show("slide", {
direction: "left"
}, 300);
updateCounter();
});
// Thumbnails (click)
$('#thumbnails img').on('click', function() {
$('#thumbnails img').removeClass('active');
$(this).addClass('active');
var pos = $(this).position().left;
var currentscroll = $("#thumbnails").scrollLeft();
var divwidth = $("#thumbnails").width();
pos = (pos + currentscroll) - (divwidth / 2);
$('#thumbnails').animate({
scrollLeft: pos
});
});
Однако я безуспешно пытаюсь сделать следующее:
При щелчке по миниатюре: получить длину миниатюры. Затем скрыть текущий div с большой картинкой ('.expo') и после этого показать div с большой картинкой, имеющей ту же длину, что и эскиз, на котором был сделан щелчок.
Честно говоря, я не знаю, так ли это вообще -_- yikes!
Вы бы сказали, что это действительно самый удобный подход в данном случае? Каким будет более быстрый / более эффективный подход? Я очень хочу учиться!
РЕДАКТИРОВАТЬ Было бы проще, если бы я присвоил эскизам и изображениям аналогичный класс? или атрибут данных?