javascript:无意的反馈循环

时间:2012-07-21 00:36:19

标签: javascript html css

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

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

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

这是一张希望更好地说明问题的图片:

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

1 个答案:

答案 0 :(得分:0)

我认为对于这种情况,你想要在图像和你正在制作动画的div周围使用包装div。将mouseover / mouseout事件附加到包装器,它们将在您期望它们时触发。 Here's a jsfiddle example