2013-08-22 158 views
2

我有兩個div;一個在另一個裏面。我想展示內部div,如果在外部div上徘徊,則應該隱藏內部div。外部div也有一個圖像(內部div的同胞),它總是顯示,所以當它懸停在圖像上時,它也會顯示文本。有人能幫我嗎?顯示div在另一個div上懸停

<script> 
$(".divone").hover(
    function() { 
     $(".divtwo").css("visibility","visible"); 
    }, 
    function() { 
     $(".divtwo").css("visibility","hidden"); 
    } 
); 
</script> 


<div class="divone"> 
    <div class="divtwo">some text here</div> 
    <img src="images/test.png" /> 
</div> 


.divtwo{ 
    background-color:red; 
    top:120px; 
    height:50px; 
    width:223px; 
    position:absolute; 
    visibility: hidden; 
} 

.divone{ 
    height:169px; 
position:relative; 
} 
+1

'class「divone」'missing'='...不知道是否有錯字或從代碼 – MikeM

+0

繼承,這是一個錯字。將解決它。 – amdvb

回答

6

你也可以有一個這樣的風格:

.divone:hover .divtwo { 
    visibility: visible; 
} 

沒有JS要求。

+0

優雅的解決方案! – palerdot

+0

這不起作用。你會請小提琴嗎? – amdvb

+2

這裏是一個小提琴http://jsfiddle.net/jLASh/ – MikeM

0

您可以將事件附加到像這樣的mouseenter和mouseleave事件。

$(".divone").mouseenter(function() { 
    $(".divtwo").css("visibility","visible"); 
}); 

$(".divone").mouseleave(function() { 
    $(".divtwo").css("visibility","hidden"); 
}); 
+0

不起作用...... – amdvb

+0

[jQuery'.hover()'是結合'.mouseenter()'和'.mouseleave()']的簡寫形式(http://api.jquery.com/懸停/),所以基本上,這部分與OP的原始代碼相同。然而,[jQuery'.hide()'](http://api.jquery.com/hide/)是**不等於將CSS「visibility」設置爲「hidden」。相反,它將'display'設置爲'none'......差別很大。 – Sparky

+0

@amdvb:有句法錯誤;編輯的代碼應該可以工 – palerdot

相關問題