jquery如果鼠标hover

我有一个带有hoverfunction的img来显示一个元素。 这个新元素中的一些与img重叠,所以如果我然后将鼠标hover在新元素上,因为光标不再位于img上,元素会隐藏自身然后立即重新出现,因为光标再次位于img之上。 如果光标位于新元素内的img上(新元素中与主图像重叠的唯一部分),我需要以某种方式忽略mouseout命令。

这是一个棘手的解释,但这里是代码:

jquery(有点我不知道该怎么办)

$("div > img").hover( function() { $(this).parent().find("span").slideDown(100); }, function() { if (user is hovering over the span) { // do nothing } else { $(this).parent().find("span").slideUp(100); } }); 

HTML

 
Test
test2

一个更简单的方法就是在父

上使用.hover() ,如下所示:

 $("div").hover(function() { $(this).find("span").slideDown(100); }, function() { $(this).find("span").slideUp(100); }); 

因为当你将鼠标hover在

(其中只有最初可见)时,你实际上只想影响 …将处理程序放在那里更有意义,你会看到代码有多简单得到:)我只是给那个

一些你可以在选择器中使用的类(使它更具体)并且你已经完成了。

这是对你描述的内容的尝试

http://www.jsfiddle.net/gaby/cQxVv/

但@Nicks解决方案更优雅。