2012-04-09 206 views
0

我使用jQuery的鼠标悬停做一些事情。但如果我将鼠标移动大约5-7次,它就会冻结。jQuery的鼠标悬停/悬停后停止工作

为什么会出现此问题?

我尝试了鼠标悬停和悬停。

代码示例:

$('span.info_icon').mouseover(function() { 
    $('#info_box').show(600); 
}).mouseout(function(){ 
    $('#info_box').hide(600); 
}); 

活生生的例子:http://dev.dolina-imeniy.ru/fotogalereya/kp_usadba_tishnevo(在红色的 “I”)。

+1

我无法重现您的问题。此外,我看到幻灯片的效果,而不是隐藏/显示,你可能改变了它之后。但考虑在动画之前使用.stop(true,true)。如果你徘徊很多次,你会明白我的意思 – 2012-04-09 22:26:12

回答

3

问题:#info_box.info_icon重叠,导致立即触发mouseout事件。因此,如果您给信息图标比信息框更高z-index会更好。

2

首先,你必须jQuery和内嵌脚本都定义:

<span class="info_icon" onmouseout="showMess('info_box');" onmouseover="showMess('info_box');"></span>

有两个会造成问题。 (它会显示两次,隐藏两次,等等)。这最终可能得到的东西不同步的,但更重要的是它只是普通的冗余。

此外,您info_box覆盖触发跨度,因此每次显示的时候,你触发mouseout。这将最终反复切换信息。

这些东西的结合将导致可能会导致你所看到的问题。首先解决这些问题。