jquery 这种混乱
下面的工作正常。但是,我有 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”的每个实例都会淡入。
我只想显示相关的子菜单,而不是全部。
The below works fine. However, I have 2 submenus - if I hover over either, both of their children "ul.menu_body" fade in.
presumably i need to use "this" somewhere, so the fade only applies to the desired menu.
I tried adding
$("ul.menu_body", this).fadeIn('fast')
but this stops it working altogether - no errors mind (that i can see)
any ideas? thank you.
$(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
to clarify - the code below means that every instance of "ul.menu_body" fades in when "li a.menu_head" is hovered.
i just want the relevant sub-menu to be displayed, not all.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您很接近,但悬停发生在锚元素(变为
this
)上,而不是 li 元素上。我假设 ul 不是锚点的子级,而是 li 的子级。尝试使用:或
You were close, but the hover happens on the anchor element (which becomes
this
) not the li element. I assume that the ul is not a child of the anchor, but of the li. Try using:or