jquery - 将鼠标悬停在子菜单上后保持父菜单项突出显示(HTML/CSS/Jquery)

标签 jquery css drop-down-menu highlight

我有一个菜单,其中一些菜单项可能有子项。其实很简单。我想实现的是,一旦将鼠标悬停在子菜单上,相应的(父)菜单项也会突出显示。这永远不会发生,因为似乎只要鼠标离开菜单项并越过子菜单,浏览器就会将其设置为默认样式。任何帮助表示赞赏!非常感谢!

菜单 html:

<div id="top_navigation">
        <ul>
            <li><a href="#">item1</a></li>
            <li><a href="#">item2</a>
                <ul class="submenu">
                    <li><a href="#">sub1</a></li>
                    <li><a href="#">sub2</a></li>
                    <li class="selected_menu_item"><a href="#">sub3</a></li>
                </ul>
            </li>
            <li><a href="#">item3</a></li>
            <li><a href="#">item4</a></li>
        </ul>
    </div>

CSS:

#top_navigation {
    width: 1248px;
    margin: 0 auto;
    position: relative;
    text-transform: uppercase;
    font-family: "Rounded Font", sans-serif;
    font-size: 23px;
}
#top_navigation ul ul {
    display: none;
}
#top_navigation ul {
    padding-left: 0;
}
#top_navigation ul li {
    margin: 0;
    padding: 0;
    float: left;
    width: 312px;
    height: 64px;
    line-height: 64px;
    font-size: 20px;
    list-style: none;
}
#top_navigation ul li a {
    display: block;
    text-align: center;
    text-decoration: none;
    color: #eb1f10;
    background-color: #FFF;
}
#top_navigation ul li.selected_menu_item a {
    background-color: #eb1f10;
    color: #FFF;
}
#top_navigation ul li a:hover {
    background-color: #eb1f10;
    color: #FFF;
}
#top_navigation li li {
    height: 42px;
    line-height: 42px;
    border-top: #eb1f10 1px solid;
}

JS/Jquery:

$(document).ready(function () {
    var $nav = $('#top_navigation > ul > li');
    $nav.hover(
        function() {
            $('ul', this).stop(true, true).slideDown('fast');
        },
        function() {
            $('ul', this).slideUp('fast');
        }
    );
});

例子可以在这里找到:http://jsfiddle.net/qguTz/

最佳答案

哦,现在我不知道我以前怎么没有想到......我会回答:

交换这个就够了:

#top_navigation ul li a:hover {
    background-color: #eb1f10;
    color: #FFF;
}

为此:

#top_navigation ul li:hover > a {
    background-color: #eb1f10;
    color: #FFF;
}

关于jquery - 将鼠标悬停在子菜单上后保持父菜单项突出显示(HTML/CSS/Jquery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16802823/

相关文章:

php - 多下拉查询过滤器

jquery - 如何在不删除 div 元素的情况下裁剪文本,jquery

javascript - AngularJS : Form validation while switching tabs having it's own controller

javascript - Symfony2 : How to get the current route in javascript?

javascript - 从 CDN 加载时 Foundation JavaScript 出现问题

html - 使用 CSS 使具有动态面板主体高度的面板填充父容器高度的其余部分

javascript - 下拉相对定位问题

jquery - 动态获取 TinyMCE 设置(将它们应用到另一个 init)

jquery - 使用 jQuery 或类似工具从 CSS 文件中指定的样式中获取 "#myDiv:hover"样式

html - 从不显示到显示 block 的 CSS 转换,反之亦然