2013-06-25 19 views
0

我創建了一個兩個div的Javascript,懸停和兩個div的

.video .image, .video .hover { 
    width: 315px; 
    height: 125px; 
    position: absolute; 
    top: 0; } 

.video .hover { 
    z-index:10; 
    display:none; } 

    <div class="left"> 
    <div class="image"> 
     <a href="..."><img src="..." height="125" width="315" /></a> 
    </div> 
    <div class="hover"> 
     <a href="..."><img src="..." height="125" width="315" alt="Left"></a> 
    </div> 
    </div> 

所以一個DIV變得低於另一個。

然後我加入jQuery函數:

<script> 

jQuery(".image").mouseenter(function(){ 
jQuery(this).parent().find(".hover").fadeIn(100); 
    jQuery(".hover").mouseleave(function(){ 
    jQuery(this).parent().find(".hover").fadeOut(100);}); 
}); 

</script> 

它看起來像:當我將鼠標懸停在.image,.hover成爲上述.image,則當鼠標離開.hover,它淡出。

但是!如果鼠標離開這個區域更快然後.hover變得可見(在我的例子中,更快然後100毫秒),mouseleave不使用 - 因爲沒有.hover,所以.hover停留在.image以上。我該如何解決它?

感謝您的每一個答案!

回答

1

這對於CSS轉換最容易完成。

http://jsfiddle.net/eS3NS/

.video .hover { 
    z-index:10; 
    opacity: 0; 
    transition: opacity .1s; 
} 

.video:hover .hover { 
    opacity: 1; 
} 
+0

它的工作原理,但是......如果我有超過1個格圖像配帶和.hover - 當我徘徊在它的一個 - 每變得徘徊@Igor的 – Igor

+0

代替'。視頻:懸停'使用任何容器的兩個div('.left'?) –

+0

它工作正常,2 div在這裏:http://jsfiddle.net/Y2dPC/ – Matthew