2011-09-17 387 views
1

好的我想要的是當用戶將鼠標指針移動到某個應該出現的div上時。而當鼠標離開div時,div應該消失。這是我迄今爲止所做的。onMouseOver和onMouseOut顯示和隱藏div

<div id="center" style="position:absolute; left:45%; top:35%;" onMouseOver=" document.getElementById('center').style.visibility = 'visible'" onMouseOut="document.getElementById('center').style.display = 'none'"> 

但我的問題是,當鼠標離開div消失,但是當我在div再去它不會出現。我該如何解決這個問題?

+1

你怎麼能隱藏它後再次鼠標懸停呢?你不能將鼠標移到隱藏的元素上。 –

+0

出於解釋的目的,問題是因爲你的'div'是不可見的,它不會跟蹤'mouseOver'事件。 –

回答

3

當你隱藏div時,你將不能再次將鼠標懸停。這通常是隱藏元素的一點,以便客戶端無法訪問它。你可以做的一件事是添加一個容器,並將鼠標懸停事件附加到容器。

<div onmouseover="document.getElementById('center').style.visibility = 'visible'"> 
    <div id="center" onmouseout="this.style.visibility = 'hidden'"> 
    </div> 
</div> 
0

嘗試這樣的:

<div id="center" style="position:absolute; left:45%; top:35%;background-color:#03C;width:400px;height:400px;opacity:0;" onMouseOver="document.getElementById('center').style.opacity = 1" onMouseOut="document.getElementById('center').style.opacity = 0"> 

我加了背景顏色div和一些尺寸,因爲如果div有沒有內部和尺寸沒有costraints它崩潰。

希望這是有用的