Jquery 将鼠标悬停在父li上时,使子li变为白色,反之亦然
首先让我描述一下我遇到的问题。请访问了解我在说什么。必须是一个页面,不能是主页,这样你才能看到我在说什么 好的,请将鼠标悬停在菜单上,至少是有子菜单的菜单上。您会注意到,当您将鼠标悬停在父Jquery 将鼠标悬停在父li上时,使子li变为白色,反之亦然,jquery,html,css,Jquery,Html,Css,首先让我描述一下我遇到的问题。请访问了解我在说什么。必须是一个页面,不能是主页,这样你才能看到我在说什么 好的,请将鼠标悬停在菜单上,至少是有子菜单的菜单上。您会注意到,当您将鼠标悬停在父li上时,子li将变为“不可见”,因为它与背景颜色相同。反之亦然,如果将鼠标悬停在子元素上 我需要弄清楚的是,我相信你已经猜到了,只要鼠标在其中一个上面,另一个也会变白 我已经完成了以下一些伪代码: $('li.menu-parent-current > li.menu-child-current a')
li
上时,子li
将变为“不可见”,因为它与背景颜色相同。反之亦然,如果将鼠标悬停在子元素上
我需要弄清楚的是,我相信你已经猜到了,只要鼠标在其中一个上面,另一个也会变白
我已经完成了以下一些伪代码:
$('li.menu-parent-current > li.menu-child-current a').hover(
function() {
$(this).css('color', '#fdfdfd');
}, function() {
if (/* mouse leaves parent as well */) {
// change child color to blue
} else if (/* mouse did not leave parent */) {
// make child color white
$(this).css('color', '#fdfdfd');
}
});
毫无疑问,这方面还有改进的余地,因此,如果需要,请继续提供更好的版本。:)
过去几个小时我一直在讨论这个问题,但我无法解决它,我相信它很简单,但我不是jQuery专家。感谢您提供的帮助。:)
编辑:
嗯。。。结果是我把事情复杂化了。作为一个相对的新手并不能让你正确思考P
除非我遗漏了什么,否则jquery在这里就太过分了。简单的css就足够了:
li:hover{
background-color: blue;
color: white;
}
子级li
从父级继承颜色
除非我遗漏了什么,否则jquery在这里就太过分了。简单的css就足够了:
li:hover{
background-color: blue;
color: white;
}
子级li
从父级继承颜色
您应该能够使用CSS而不是jQuery的“.hover()”来实现这一点。但是,您现有的CSS已经存在一些冲突的
:hover
样式,不能很好地处理折叠的jQuery.hover()
行为
我会首先清理CSS,如果你必须使用jQuery,那么至少你会有一个更干净的板岩。你应该能够用CSS而不是jQuery的“.hover()”来完成这项工作。但是,您现有的CSS已经存在一些冲突的
:hover
样式,不能很好地处理折叠的jQuery.hover()
行为
我会首先清理CSS,如果你必须使用jQuery,那么至少你会有一个更干净的列表。只需使用
#menu li:hover a {
color: white;
}
简单使用
#menu li:hover a {
color: white;
}
尝试以下简单的css添加
#menu li:hover a{
color: #FDFDFD;
}
希望它能帮助尝试以下简单的css添加
#menu li:hover a{
color: #FDFDFD;
}
希望它能帮助您使用CSS和jQuery实现这一点 如果您希望使用CSS实现这一点:
li:hover a{color:#fff;}
li:hover ul li a{color:#fff;}
如果您想用jQuery实现这一点:
$('ul li').hover(
function(){$(this).find('a').css('color','#fff');},
function(){$(this).find('a').css('color','##36c');}
);
您可以使用CSS和jQuery来实现这一点 如果您希望使用CSS实现这一点:
li:hover a{color:#fff;}
li:hover ul li a{color:#fff;}
如果您想用jQuery实现这一点:
$('ul li').hover(
function(){$(this).find('a').css('color','#fff');},
function(){$(this).find('a').css('color','##36c');}
);
这是一个很好的答案,继续努力。:)我本想说“新人”,但我不想显得傲慢P感谢所有提供答案的人!不过,这是最干净的,所以谢谢大家。:)这是一个很好的答案,继续努力。:)我本想说“新人”,但我不想显得傲慢P感谢所有提供答案的人!不过,这是最干净的,所以谢谢大家。:)