@hello-world-1

Как передать data-attr только в один блок, куда наведен курсор?

При наведение на какую-либо часть блока, происходит смена изображения через data-атрибуты. Проблема в том, что если я создаю два блока, то изменения изображения происходит одновременно во всех. Нужно, чтобы изменения происходили только там, куда направлен курсор.

Прикладываю пример - https://jsfiddle.net/8Losb702/4/
  • Вопрос задан
  • 47 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
$('.item').on('mouseover', '.dot', function({ delegateTarget: t }) {
  $('.thumb-target', t).attr('src', this.dataset.img);
  $('.dot', t).removeClass('select').filter(this).addClass('select');
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
потому что вы ищете элемент просто по классу.
Можно получить текущий элемент на котором сработало событие mouseover из event.target
Затем найти родителя .closest(контейнер), и уже в нем менять изображение.
Ответ написан
Ваш ответ на вопрос

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

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