我正在建立一個網站與jQuery懸停功能,用data-hover-src
中的交換當前圖像,並將類'懸停'添加到.product-overlay
,以便我可以使用CSS在用戶懸停在每個列表項上時顯示它。懸停類刪除onload,當光標在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
下面是它是如何建立一個例子 - 這只是看到了功能懸停,我不能重現我與這個小提琴出於某種原因看到的問題......
VIDEO
...所以這裏發生了什麼事的視頻,使其更清晰:
https://www.youtube.com/watch?v=ZaslRbKGdKM
我不能與小提琴隊友發現任何問題.. – Outlooker 2015-02-06 10:42:16
嗯,我知道了小提琴實際上並沒有顯示的行爲(可能是因爲它加載所有的JS之前的HTML和圖像 - 我的工作一個私人Shopify網站,在這裏我看到了問題,理想情況下,我可以共享一個直接鏈接,但目前還無法做到這一點。是否有任何方法檢查頁面是否存在「鼠標懸停」,然後修改我的代碼顯示/隱藏相應的'.hover'類 – Osu 2015-02-06 10:53:52
或許檢查覆蓋是「可見的」第一 – Osu 2015-02-06 10:54:40