我有一个640x200 div,里面有一个隐藏的200x100 div。我的目标是在640x200 div跳过时淡出隐藏的div,然后在退出该div时退出。一切正常,但当我将鼠标悬停在子div上时,它会触发下面的悬停功能。
更新我知道当我将鼠标悬停在隐藏div中的元素上时,会触发悬停关闭。
我正在使用此代码:
jQuery("#pstsldcon").hover(function() {
jQuery("#slidenav").animate({
opacity: +1
}, 300)
}, function() {
jQuery("#slidenav").animate({
opacity: 0
}, 300)
});
答案 0 :(得分:1)
jQuery(function($) {
$("#pstsldcon").on('mouseenter mouseleave', function(e) {
if ( e.target === this ) {
$("#slidenav").animate({
opacity: (e.type === 'mouseenter' ? 1 : 0)
}, 300);
}
});
});
答案 1 :(得分:0)
您还需要将hover
侦听器附加到隐藏的<div>
,并捕获传递给它的Event
。这样,您可以防止它冒泡到父<div>
,从而不会触发悬停。
你想要使用类似的东西:
function(e) {
e.stopPropagation();
}
隐藏<div>