有一个菜单按钮(#menu_product),当用户的鼠标放在它上面时,菜单将向下滑动(#about)。但是,它不能检查滑上(隐藏)它的条件。逻辑是我需要确保按钮和菜单都不悬停,然后滑起来。但是菜单好像永远不会滑上来,怎么解决这个问题?由于
$('#menu_product').live('mouseout',function() {
if (!$('#about:hover')) {
$("#about").slideUp("slow");
}
});
使用下面的代码来达到你想要达到的效果
$("#menu_product, #about").hover(
function () {
$("#about").stop();
$("#about").slideDown("slow");
},
function () {
$("#about").slideUp("slow");
}
);
Jsfiddle: http://jsfiddle.net/np67k/
javascript $('#about:hover')
将始终返回一个有效的jquery对象,因此将始终为true。
尝试使用$('#about').is(':hover')
之类的东西代替,因为.is()
函数返回一个布尔值。http://api.jquery.com/is/
#1不使用live
,已弃用
试试这个:
$('#menu_product').on('mouseout',function() {
var $about = $('#about').toggleClass('.hover');
if (!$about.is('.hover')) {
$about.slideUp("slow");
}
});