Я создаю сайт с функцией наведения jQuery, которая свопирует текущее изображение с изображением в data-hover-src
и добавляет класс 'hover' к .product-overlay
, так что я могу использовать CSS чтобы показать это, когда пользователь наводится на каждый элемент списка.Класс Hover удаляется при загрузке при курсоре над элементом в jQuery
Все довольно простые вещи, однако, если пользователь имеет свой курсор на элементе списка при загрузке страницы, мой код делает обратную, что я хочу, то он удаляет .hover
класса по отведению указателя мыши.
Есть ли способ убедиться, что класс .hover
добавлен только тогда, когда курсор находится над элементом списка?
Спасибо,
ОГУ
HTML
<ul class="product-listing">
<li class="item">
<a href="#" class="product-images">
<img src="{src1}" data-hover-src="{src2}">
</a>
<span class="product-overlay hidden">
Overlay content
</span>
</li>
<li>
...etc.
</li>
</ul>
Jquery
// Hoverswap function
var hoverSwap = function() {
var $this = $(this).find('img');
var overlay = $(this).find('.product-overlay');
var newSource = $this.data('hover-src');
$this.data('hover-src', $this.attr('src')); // Show original source if hover-src is showing
$this.attr('src', newSource); // Vice versa
if(overlay.hasClass('hover')) {
overlay.removeClass('hover');
} else {
overlay.addClass('hover');
}
}
// Run function
$('.product-listing li').hover(hoverSwap, hoverSwap);
JSFIDDLE
Вот пример того, как он настроен - это только увидеть парить над функцией, я не могу воспроизвести проблему я вижу с этой скрипкой по какой-то причине ...
вИДЕО
... так вот видео того, что происходит, чтобы сделать его более ясным:
https://www.youtube.com/watch?v=ZaslRbKGdKM
Я не могу найти никаких проблем с помощником скрипта. – Outlooker
А я понимаю, что скрипка на самом деле не показывает поведение (вероятно, потому, что она загружает все HTML и изображения перед JS - я работаю над частный сайт Shopify, где я вижу проблему. В идеале я мог бы поделиться прямой ссылкой, но на данный момент это невозможно. Есть ли способ проверить, есть ли «наводка» нагрузка страницы, а затем изменить мой код, чтобы показать/скрыть класс '.hover' соответственно? – Osu
Или, может быть, проверьте, что оверлей« видимо »?? – Osu