Доброй ночи. Есть задание с которым никак не могу справиться. Есть html кусок кода. Выглядит так HTML: <h1 id="images">Images</h1> <div class="gallery"> <div class="image"><img src="http://funkyimg.com/i/2mbiB.jpg" alt=""></div> <div class="image"><img src="http://funkyimg.com/i/2mbiC.jpg" alt=""></div> <div class="image"><img src="http://funkyimg.com/i/2mbiD.jpg" alt=""></div> <div class="image"><img src="http://funkyimg.com/i/2mbiF.jpg" alt=""></div> <div class="image"><img src="http://funkyimg.com/i/2mbiG.jpg" alt=""></div> <div class="image"><img src="http://funkyimg.com/i/2mbiJ.jpg" alt=""></div> <div class="image"><img src="http://funkyimg.com/i/2mbiK.jpg" alt=""></div> <div class="image"><img src="http://funkyimg.com/i/2mbiL.jpg" alt=""></div> </div> и js Код (Javascript): var images = document.getElementById("images"); images.onclick = function() { var img = document.getElementsByTagName('img'); for(var i = 0;i < img.length;i++){ img[i].style.display = 'block'; var src = img[i].src; img[i].addEventListener('click', function(){ document.body.style.background = "url('"+src+"')"; }); } } Нужно чтобы при клике на h1 показывалась галерея из картинок, а при клике на картинку менялся фон body. У меня практически все работает вот только проблема в том что картинка всегда последняя(иенно последняя выводиться даже при клике на дугие). Подозреваю что надо использовать this, вот только не знаю как. Возможно кто-то подскажет что-то а может быть есть способ покороче.
Код (Javascript): <script> var gallery = document.getElementsByClassName("gallery"); gallery[0].onclick = function (e) { src = e.target.attributes[0]; document.body.style.background = "url('"+src.nodeValue+"')"; }; </script>
Благодарю, нашел решение утром. Возможно кому нибудь пригодиться. Код (Javascript): var images = document.getElementById("images"); images.onclick = function() { var img = document.getElementsByTagName('img'); for(var i = 0;i < img.length;i++){ //3 вариант img[i].addEventListener('click', function () { document.body.style.background = "url('"+this.src+"')"; }); } }