Изменение Картинки При Наведении
#1
Отправлено 04 Февраль 2012 - 11:48
#2
Отправлено 05 Февраль 2012 - 00:17
<style> .imgHover:hover { background:url('адрес изображения 2'); } </style> <div style="height:80px;width:500px;background:url('адрес изображения 1');" class="imgHover"> </div>
Данный код вам необходимо подкорректировать под свои требования, и вставить в необходимо место в шаблоне или странице.
#3
Отправлено 05 Февраль 2012 - 13:24
#4
Отправлено 06 Февраль 2012 - 20:27
background:url('адрес изображения 2');
сюда вставляем ссылку на вторую картинку которая будет отображаться при наведении
#5
Отправлено 20 Октябрь 2015 - 11:50
#6
Отправлено 02 Ноябрь 2015 - 11:56
agentteam (20 Октябрь 2015 - 11:50) писал:
#7
Отправлено 10 Ноябрь 2015 - 14:30
Ирина345 (02 Ноябрь 2015 - 11:56) писал:
Нет, у вас наверное не та ссылка. Napleche.ru - там есть товары и изображения. Спасибо, что откликнулись.
#8
Отправлено 11 Ноябрь 2015 - 05:25
<ul class="grid" id="product_list"> {% FOR goods %} <li class="elem">
после него вставьте:
<div class="goods_images_list"> {% FOR images %} <div style="display: none;"><img src="{goods.images.LARGE}" alt="{goods.images.NAME}" /></div> {% ENDFOR %} </div>
В файл main.js добавьте:
$(function() { $('.elem a img').hover(function() { var goods_images_list = $(this).closest('.elem').find('.goods_images_list'); var size = goods_images_list.find('img').size(); if(size) { goods_images_list.find('div:eq(0)').show(); if(size > 1) { goods_images_list.data('interval', setInterval($.proxy(function() { var next = $(this).find('div:visible').next(); if(!next.length) { next = $(this).find('div:eq(0)'); } $(this).find('div').hide(); next.show(); }, goods_images_list), 3000)); } } }, function() { var goods_images_list = $(this).closest('.elem').find('.goods_images_list'); goods_images_list.find('div').hide(); if(goods_images_list.data('interval')) { clearInterval(goods_images_list.data('interval')); goods_images_list.removeData('interval'); } }); });
В main.css добавьте:
.goods_images_list { position: relative; } .goods_images_list > div { display: none; position: absolute; z-index: 100; background: #FFFFFF; border: 3px solid #CCCCCC; border-radius: 4px; left: 80px; padding: 2px; top: 40px; max-height: 450px; max-width: 450px; } .goods_images_list > div img { width: 100%; height: auto; }
#9
Отправлено 11 Ноябрь 2015 - 19:12
2) первое изображение тоже показывается, т.е. подгружаются не со второго, а с первого.
#10
Отправлено 12 Ноябрь 2015 - 02:14
#category_view_type.grid_view #product_list li{display: inline-block; display: -moz-inline-stack; *display: inline;position:relative;width:300px;min-height: 250px;margin:0 2px;padding:0;border:0; vertical-align: top;text-align:center;z-index: 100; border-radius: 2px; border: 0px solid #F2F2F2;}замените на:
#category_view_type.grid_view #product_list li{display: inline-block; position:relative;width:300px;min-height: 250px;margin:0 2px;padding:0;border:0; vertical-align: top;text-align:center;z-index: 100; border-radius: 2px; border: 0px solid #F2F2F2;}
далее найдите:
.goods_images_list > div { display: none; position: absolute; z-index: 100; background: #FFFFFF; border: 0px solid #CCCCCC; border-radius: 4px; left: 0px; padding: 0px; top: 0px; max-height: 250px; max-width: 300px; } .goods_images_list > div img { width: 100%; height: auto; }
замените на:
.goods_images_list > div { display: none; right: 0; text-align: center; position: absolute; z-index: 100; background: #FFFFFF; border: 0px solid #CCCCCC; border-radius: 4px; left: 0px; padding: 0px; top: 0px; max-height: 250px; max-width: 300px; } .goods_images_list > div img { width: auto; height: 100%; max-height: 284px; }
В main.js найдите:
$(function() { $('.elem a img').hover(function() { var goods_images_list = $(this).closest('.elem').find('.goods_images_list');замените на:
$(function() { $('.elem').hover(function() { var goods_images_list = $(this).closest('.elem').find('.goods_images_list');
#11
Отправлено 12 Ноябрь 2015 - 10:17
Но подгрузка доп. фото все равно начинается в большинстве случаев с первой фото (которая выбрана основной). Так что пользователь не видит эффекта смены изображения сначала.
1) Можно ли сделать чтобы со второй фото (не основной) начиналась подгрузка?
2) Можно ли поставить стрелки по бокам влево вправо, чтобы пользователь сам управлял прокруткой?
3) И главное теперь при нажатии на изображение верхнее не работает ссылка на карточку товара.
#12
Отправлено 12 Ноябрь 2015 - 12:52
agentteam (12 Ноябрь 2015 - 10:17) писал:
Но подгрузка доп. фото все равно начинается в большинстве случаев с первой фото (которая выбрана основной). Так что пользователь не видит эффекта смены изображения сначала.
1) Можно ли сделать чтобы со второй фото (не основной) начиналась подгрузка?
2) Можно ли поставить стрелки по бокам влево вправо, чтобы пользователь сам управлял прокруткой?
3) И главное теперь при нажатии на изображение верхнее не работает ссылка на карточку товара.
1,3 найдите в шаблоне Товары код
{% FOR images %} <div style="display: none;"><img src="{goods.images.LARGE}" alt="{goods.images.NAME}" /></div> {% ENDFOR %}замените на
{% FOR images %} {% IFNOT goods.images.first %} <div style="display: none;"><a href="{goods.URL | url_amp}" title="{goods.NAME}" ><img src="{goods.images.LARGE}" alt="{goods.images.NAME}" /> </a></div> {% ENDIF %} {% ENDFOR %}далее найдите в style.css
.goods_images_list > div img { width: auto; height: 100%; max-height: 284px; }замените на
.goods_images_list > div img { max-width: 300px; height: 100%; max-height: 284px; }
#13
Отправлено 12 Ноябрь 2015 - 17:55
#14
Отправлено 13 Ноябрь 2015 - 19:37
Подскажите как исправить, сам я не нашел в стилях проблему.
Решил - убрал из этого стиля height:100%; и все ровно стало отображаться.
.goods_images_list > div img {
max-width: 300px;
height: 100%;
max-height: 284px;
}
#15
Отправлено 14 Ноябрь 2015 - 03:20
Чтобы выводились стрелки придется убрать все изменения и вставлять плагин карусели.
#16
Отправлено 14 Ноябрь 2015 - 22:06
#17
Отправлено 27 Ноябрь 2015 - 14:21
Дело в том, что сейчас, когда загружаются все, это заметно увеличивает скорость загрузки страниц.
#18
Отправлено 03 Декабрь 2015 - 04:48
{% FOR images %} {% IFNOT goods.images.first %} <div style="display: none;"><a href="{goods.URL | url_amp}" title="{goods.NAME}" ><img src="{goods.images.LARGE}" alt="{goods.images.NAME}" /> </a></div> {% ENDIF %} {% ENDFOR %}
заменить на:
{% FOR images %} {% IF goods.images.index = 2 %} <div style="display: none;"><a href="{goods.URL | url_amp}" title="{goods.NAME}" ><img src="{goods.images.LARGE}" alt="{goods.images.NAME}" /> </a></div> {% ENDIF %} {% ENDFOR %}
#19
Отправлено 04 Декабрь 2015 - 14:15
А есть ли способ, чтобы изображения дополнительные всех товаров в категории не сразу загружались при обновлении страницы, а только тогда, когда человек наводит курсор на товар, или может кликает по стрелочке влево вправо?
Я пытаюсь найти способ уменьшения веса страницы. После последнего изменения он уменьшился с 22mb до 11mb в среднем, но это все равно много, на сколько я понимаю.
#20
Отправлено 25 Декабрь 2015 - 01:11
{% FOR images %} {% IF goods.images.index = 2 %} <div style="display: none;"><a href="{goods.URL | url_amp}" title="{goods.NAME}" ><img src="{goods.images.LARGE}" alt="{goods.images.NAME}" /> </a></div> {% ENDIF %} {% ENDFOR %}
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных