以下工作正常。但是,我有2个子菜单 - 如果我徘徊在其中,他们的两个孩子“ul.menu_body”都会消失。
大概我需要在某处使用“this”,因此淡入淡出只适用于所需的菜单。
我尝试添加 $(“ul.menu_body”,this).fadeIn('fast') 但这会阻止它完全工作 - 没有错误(我能看到)
任何想法?谢谢。
$(document).ready(function(){
$("ul.menu_body li:even").addClass("alt");
$("li a.menu_head").hover(function () {
$("ul.menu_body").fadeIn('fast')
});
$(".subMenuParent").mouseleave(function(){
$("ul.menu_body").fadeOut();
$("li.subMenuParent").removeClass("active");
});
// rest of my script
澄清 - 下面的代码表示当“li a.menu_head”悬停时,“ul.menu_body”的每个实例都会淡入。
我只想显示相关的子菜单,而不是全部。
答案 0 :(得分:2)
你很接近,但是悬停发生在锚元素(变为this
)而不是li元素上。我假设ul不是锚的孩子,而是李的孩子。尝试使用:
$('ul.menu_body',$(this).closest('li')).fadeIn('fast');
或
$(this).closest('li').find('ul.menu_body').fadeIn('fast');