2010-11-26 119 views
0

我创建这里的问题的一个例子:jQuery的生活()悬停,以显示/隐藏DIV古怪行为

http://jsfiddle.net/jXLSW/

注意,当你将鼠标悬停在图像的DIV的显示出来图像的顶部。当你离开图像时,它会消失。问题在于当您将鼠标移动到顶部的div上时。它进入这个显示/隐藏循环,因为鼠标正在进入/离开。

这个显示在顶部的div将包含充当工具栏的图标。当我将鼠标悬停在其上时,如何保持工具栏可见?更重要的是,我怎样才能让悬停事件停止骑车?

更新:有趣的是下面的代码作品根据需要。问题在于,似乎经常出现生活问题,实际上并没有启动。因此,没有出现div,这也是一个主要问题。

$('.has-menu').livequery(function() { 
    $(this).hover(function() {$(this).find('div.img-menu').slideToggle();}, function() {$(this).find('div.img-menu').slideToggle();}); 
}); 

回答

1

好吧,我改变了代码如下:

$('.has-menu').live('hover', function(e) { 
    if (e.type == 'mouseover') { 
     $(this).find('div.img-menu').slideToggle(); 
    }else{ 
     $(this).find('div.img-menu').slideToggle(); 
    } 
}); 

,现在一切都很好。