2011-09-17 92 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它崩溃。

希望这是有用的