@komolov-87

Как менять изображение при наведении на наименование?

Есть каталог товаров и товары.

<div class="products">
    <div class="all-image"></div>
    <ul>
        <li>
            <span class="name">{$product->name}<span>
            <span class="image"><img src="{$product->image}"/><span>
        </li>
        <li>
            <span class="name">{$product->name}<span>
            <span class="image"><img src="{$product->image}"/><span>
        </li>
        <li>
            <span class="name">{$product->name}<span>
            <span class="image"><img src="{$product->image}"/><span>
        </li>
    </ul>
</div>


Мне нужно, чтобы Фото товаров выводилось в одном места и менялось при наведении курсора на название товаров.
Сейчас все Фото абсолютным позиционированием выставил в одном месте (получается друг на друге).

Скриптом, при наведении на название, image добавляется класс hover, но получается при наведении на любой товар, hover добавляется.

<script>
$(document).ready(function(){
$('.name').hover(function(){
    $('.image').addClass('hover');
},
function(){
    $('.image').removeClass('hover');
}
);
});
</script>


У товара есть id и думал, чтобы сделать у каждого товара классы уникальные, делаю так:
<span class="name-{$product-id}">{$product->name}<span>
<span class="image-{$product-id}"><img src="{$product->image}"/><span>


В идеале нужно, чтобы при наведении изображение менялось в блоке all-image
Как можно добавить в скрипт данные уникальные стили, чтобы это все работало?
Или может есть более правильный или простой вариант.
Буду рад выслушать более опытное мнение.
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
@uncletobe
Я так понял, Вы хотите сделать так:
https://jsfiddle.net/0Ls7q4hy/
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@niriter
User
1-й вариант: https://codepen.io/korobochka/pen/ZEEoBLa
2-й вариант: https://codepen.io/korobochka/pen/YzzLpVb
с jquery вариант предложили выше
Ответ написан
Комментировать
@komolov-87 Автор вопроса
Вариант uncletobe https://jsfiddle.net/6c38g4bp/1то, что нужно, но возникло обстоятельство, а если таких блоков несколько
<div class="products">
тоже самое содержание
</div>
<div class="products">
тоже самое содержание
</div>


По текущему коду он выводит, но смена картинок происходит у всех блоков, независимо от того, в каком блоке навели курсор.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы