Решил добавить жизни в барбершоп, на страницу описания товара. А именно - при нажатии на миниатюру она появляется на месте большой картинки.
С помощью jQuery проблему решил:
$(document).ready(function() {
$(’.img’).click(function() { // img - это класс всех картинок
var i = $(this).attr(‘src’);
$(’#big-image’).attr(‘src’, i); //big-image - id для большой картинки
});
Но я же хочу быть не jQuery разработчиком, и посему решил проверить как оно сработает на ванильном JS. Не сработало…
var img = document.querySelectorAll(’.img’);
var imgBig = document.querySelector(’#big-image’);
img.addEventListener(‘click’, function(event){
var imgSrc=this.getAttribute(‘src’);
imgBig.setAttribute(‘src’, imgSrc);
});
Как я понял из своих экспериментов, я как то не так использую this. Подскажите, что не так?
Сделал, как Вы советовали, но все равно не работет. Говорит, что Img = undefined
for (i = 0; i <= img.length; i++ ) {
img[i].addEventListener(‘click’, function(event){
var imgSrc = img[i].getAttribute(‘src’);
imgBig.setAttribute(‘src’, imgSrc);
});
};