2

我在为我的网站工作的侧边栏中的子菜单悬停时更改菜单项 (.category) 的颜色时遇到问题。正如您在下面的 jsFiddle 示例中所见,当用户将鼠标悬停在某个类别上时,会打开一个子菜单,而当用户悬停一个子菜单项时,悬停颜色为橙色。我想将橙色悬停在子菜单项上。同时,我希望在子菜单打开时将菜单项(类别)颜色更改为浅蓝色。

我尝试单独使用 css 来完成此操作,但是所有孩子的悬停颜色都会改变,这不是我想要的。对于解决此问题的任何帮助,我将不胜感激,因为这是我一直试图解决的一个持续存在的问题。

到目前为止我尝试了什么:

 $(this).find(".submenu").show().parent().css('color', 'lightblue'); 

jsfiddle:

http://jsfiddle.net/BGcDc/38/

4

3 回答 3

2

问题是链接应用了高优先级的默认蓝色。要更改颜色,您需要在链接上实际更改它。我把它放在hover()代码中,它起作用了:

$(this).find("a").eq(0).css("color", "#2B60DE");

这将找到标签的第一个子链接li.category(更多的子链接是实际的菜单项)并将颜色更改为浅蓝色 (#2B60DE)。在mouseleave()代码中,输入相同的代码,但将实际值留空,如下所示:

$(this).find("a").eq(0).css("color", "");
于 2012-06-08T18:01:48.890 回答
0

我试图改变第一个元素的颜色,它正在工作,你可以在 jsfiddle 中检查。

此外,您应该将样式应用于类并通过 javascript 添加/删除类。

http://jsfiddle.net/BGcDc/41/

于 2012-06-08T18:03:03.560 回答
0

不是 JQuery 解决方案,但请查看有关如何设置父元素样式的答案。

我认为,尤其是它的第二个jsfiddle 示例(纯 css2),它可以满足您的需求。

于 2012-06-08T18:12:18.923 回答