Как поменять картинку товара при наведении на него

Главные вкладки

Комментарии

Аватар пользователя gun_dose gun_dose 5 апреля 2016 в 12:08

можно без js, засунув картинки в фон:

.field-image{background: url(ololo.jpg);}
.field-image:hover{background: url(trololo.jpg);}

Либо спозиционировать картинки абсолютно и родителя растянуть на их размер, тогда:

.field-image .field-item-1{display: block;}
.field-image .field-item-2{display: none;}
.field-image:hover .field-item-2{display: block;}
.field-image:hover .field-item-1{display: none;}

ИМХО, чтобы всякие анимации работали плавнее и стабильнее, лучше всё делать через цсс. А джаваскрипт нужен только для добавления/удаления классов и скроллинга страницы.

Аватар пользователя agurets agurets 5 апреля 2016 в 12:32

без цсс не выйдет, так как изображение необходимо менять на каждом товаре
и на каждом товаре оно будет разное

к примеру, есть товар в разделе "Кепки"
пользователь видит перед кепки, при наведении на нее изображение должно поменяться на тыльную сторону кепки

Аватар пользователя sas@drupal.org sas@drupal.org 6 апреля 2016 в 8:01

Не вариант на все варианты картинов, не проставишь в css разные картинки, только если что-то ограниченное количеством. У него = неограниченное мноежество = переменные.

Аватар пользователя gun_dose gun_dose 6 апреля 2016 в 10:27

А госспади, ну вы же не маленький, ей богу! Первый пример был с бэкграундом, а второй с img и второй предпочтительнее. У поля с множественным значением есть своя обёртка, а у каждого значения своя с классом .field-item. Грузишь всегда переднюю часть кепки первой картинкой, заднюю - второй и по ховеру филда инвертируешь отображение итемов. Такая хрень срабатывает в 100% случаев с абсолютно любым множественным полем. Не надо никакой темизации с шаблонами и колдовства с настройками отображения - тупо всё дефолтное + 4 строки цсс.