Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как применить скрипт к элементу, который находится в пределах блока? (https://javascript.ru/forum/misc/69533-kak-primenit-skript-k-ehlementu-kotoryjj-nakhoditsya-v-predelakh-bloka.html)

sergey24 01.07.2017 12:06

Как применить скрипт к элементу, который находится в пределах блока?
 
Имеется на одной странице несколько галерей (галерею взял отсюда), при клике на картинку сменяется картинка во всех галереях, а надо только в той, которой принадлежит картинка.

<div class="gallery">
    <div class="panel">
        <img class="largeImage" src="images/image_01_large.jpg" />
        <div class="description">Игра Rage</div>
    </div>

    <div class="thumbs">
        <img src="images/image_01_thumb.jpg" alt="Описание 1" />
        <img src="images/image_02_thumb.jpg" alt="Описание 2" />
        <img src="images/image_03_thumb.jpg" alt="Описание 3" />
        <img src="images/image_04_thumb.jpg" alt="Описание 4" />
        <img src="images/image_05_thumb.jpg" alt="Описание 5" />
    </div>
</div>

$('.thumbs').delegate('img','click', function(){
    $('.largeImage').attr('src',$(this).attr('src').replace('thumb','large'));
    $('.description').html($(this).attr('alt'));
});

рони 01.07.2017 12:17

Цитата:

Сообщение от sergey24
delegate

:blink:
jquery/1.6.1
:blink: :blink: :blink: :)
взять jquery новее и поставить клик на gallery

рони 01.07.2017 12:23

sergey24,
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
   $('.gallery').on('click', '.thumbs img', function(event){
    var parent = event.delegateTarget;
    $('.largeImage', parent).attr('src',$(this).attr('src').replace('thumb','large'));
    $('.description', parent).html($(this).attr('alt'));
});
});
  </script>

sergey24 01.07.2017 12:31

рони,
Спасибо, всё отлично работает:)


Часовой пояс GMT +3, время: 02:50.