2012-07-21 48 views
0

我想创建一个由mouseover事件触发的javascript中的动画,然后在鼠标移出时返回到初始状态。当用户将光标移动到页面上的图像上时,另一个初始高度为0px的div在图像底部逐渐升高到50px。javascript:无意的反馈循环

我面临的问题是,当他们将光标从图像移动到现在覆盖图像底部的div时,它会触发mouseout(因为它是图像中的独立元素),然后是新的鼠标悬停事件,因为当检测到光标不再位于图像上时,div会消失(这意味着div会一次又一次地出现并快速消失)。

我想知道如何去打破这样一个循环,以便当光标从图像上移过来时,div不会消失(即防止onmouseout事件触发,除非鼠标移动到某个其他元素而不是新创建的div)。

下面是一个图像希望更好地说明问题:

http://i.imgur.com/qcE64.jpg

+0

您不必防止mouseout本身,只需调用处理程序即可隐藏div。 – inf3rno 2015-01-10 13:19:51

回答

0

我认为这种情况下,你想使用的包装DIV周围的形象和你的动画都股利。将mouseover/mouseout事件附加到包装上,当你期待它们时,它们会触发。 Here's a jsfiddle example