2016-03-17 117 views
0

我有一個列表中的幾個div,並且當用戶將鼠標懸停在父div上時,我試圖讓.cat-icon(圖片)順利淡入。然後一旦鼠標退出div,圖像應該平滑淡出。我有一些麻煩,希望得到一些指導。當用戶將鼠標懸停在div上時,在圖像中淡入淡出

https://jsfiddle.net/srqvafp3/1/

HTML

<section class="highlights"> 
    <article> 
    <a href="/" class="image-link"> 
     <img width="351" height="185" src="http://i.imgur.com/f5h7bJo.jpg" class="image appear"> 
     <img class="cat-icon appear" width="60" height="60" src="http://i.imgur.com/imG6TE2.png"> 
    </a> 
    </article> 
</section> 

JS

jQuery('.highlights article').on('mouseenter', '.highlights .image-link img.cat-icon', function(){ 
    jQuery(this).addClass('cat-icon-hover'); 
}).on('mouseleave', '.highlights .image-link img', function(){ 
    jQuery(this).removeClass('cat-icon-hover'); 
}); 

CSS

.highlights { 
    position: relative; 
} 

.highlights article { 
    position: relative; 
} 

.highlights .image-link { 
    min-height: 42px; 
    display: block; 
    position: relative; 
} 

.highlights .image-link img { 
    display: block; 
    width: 100%; 
    height: auto; 
} 

.highlights .image-link img.cat-icon { 
    left: 50%; 
    margin: -30px 0 0 -30px; 
    opacity: 0; 
    position: absolute; 
    top: 50%; 
    width: 60px !important; 
} 

.highlights .image-link img:hover { 
    opacity: 0.8; 
} 

.appear { 
    opacity: 1; 
    -webkit-transition: all .4s ease-in-out; 
    -moz-transition: all .4s ease-in-out; 
    -o-transition: all .4s ease-in-out; 
    transition: all .4s ease-in-out; 
} 
+0

什麼樣的麻煩?我看到它的工作,你能告訴你「麻煩」的確切含義嗎? – mmativ

+0

只需使用jQuery的'fadeIn'和'fadeOut;' –

回答

0

只需使用的,而不是你的JavaScript以下。

$(".highlights article").hover(
    function() { 
    // Fade cat icon in on hover, at 200ms to opacity 1 
    $(this).find('.cat-icon').fadeTo(200, 1); 
    }, function() { 
    // Fade cat icon out when hover leaves, at 200ms to opacity 0 
    $(this).find('.cat-icon').fadeTo(200, 0); 
    } 
); 

JSFiddle

+0

謝謝。這有效;然而,我有這些文章中的幾篇,當我將鼠標懸停在一頁上時,它們全都淡出並顯示圖標。 – J82

+0

@ J82現在嘗試,它應該可以工作,但我在我的手機上,所以無法測試。 – Matt

+0

感謝它的工作。只是想知道你是否知道更好的移動解決方案。例如,當我點擊一篇文章時,圖標不顯示,但它將我帶到文章中。然後,當我向左滑動返回屏幕時,圖標顯示並停留在那裏。無論如何,再次感謝我給你的支票。 – J82

0

您添加和刪除懸停( 「貓圖標懸停」 類)不在你的CSS - ?

.jQuery(this).addClass('cat-icon-hover');

0

可以使用$(this).toggleClass('cat-icon-hover');

相關問題