jquery - 维护下拉菜单父级的 'hover' 状态

标签 jquery html css twitter-bootstrap

我正在使用 Bootstrap 构建导航栏。

当我将光标移动到下拉元素时,如何保持原始链接的悬停状态?

因此,如果我将鼠标悬停在下拉元素上,我仍然可以在 Hover over me 链接上保留灰色背景吗?

当前演示: http://jsfiddle.net/DTcHh/3932/

这是我的代码:

<div class="container">

            <header class="header" role="banner" itemscope itemtype="http://schema.org/WPHeader">

                <div id="inner-header" class="wrap cf">

                    <nav role="navigation" class="primary col-md-12" itemscope itemtype="http://schema.org/SiteNavigationElement">
                        <ul id="menu-header-menu" class="nav primary top-nav cf navbar-nav">

                            <li id="menu-item-139" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-139 dropdown"><a title="" href="#" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true"><span>Hover over me</span> <span class="caret"></span></a>
                            <ul role="menu" class=" dropdown-menu">
                                <li id="menu-item-159" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-159"><a title="Sponsors" href="dropdown"><span>Dropdown</span></a></li>
                            </ul>
                            </li>

                        </ul>

                    </nav>

                </div>

            </header>

        </div>

CSS:

/* Latest compiled and minified CSS included as External Resource*/

/* Optional theme */
 @import url('//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-theme.min.css');
 nav {
    border:1px solid blue;
    float:left;
    text-align:center;
}
nav a {
    color:#000
}
body {
    margin: 10px;
}



@media (min-width: 768px) {
    .navbar .navbar-nav {
        display: inline-block;
        float: none;
        vertical-align: top;
    }

    .navbar .navbar-collapse {
        text-align: center;
    }
}


.navbar .navbar-nav {
    display: inline-block;
    float: none;
}

.navbar .navbar-collapse {
    text-align: center;
}





ul.nav a:hover, a:hover { color: #5a5a5a!important; text-decoration:none}
.dropdown-menu {width:100%}
.nav .open>a, .nav .open>a:focus, .nav .open>a:hover {background:#fff!important}
.dropdown:hover .dropdown-menu {display: block;}

nav {
text-align:center
}

.navbar .navbar-nav {
    display: inline-block;
    float: none;
}

.navbar .navbar-collapse {
    text-align: center;
}

最佳答案

悬停样式是为 a 标签指定的,因此当您离开 a 时,您留下的标签不会采用悬停样式

您需要为 li 提供悬停样式

添加这个

ul.nav > li:hover {
  background:#eee;
}

演示 - http://jsfiddle.net/DTcHh/3933/

关于jquery - 维护下拉菜单父级的 'hover' 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28338378/

相关文章:

jquery - YouTube现场直播视频youtube在jwplayer上不起作用

javascript - Javascript/jQuery 文本动画性能低下

html - 当整个菜单 div 有边框底部时,悬停时在菜单中链接的边框底部

html - img 下方额外的蓝色空间

javascript - 如何将下拉列表选择的值添加到数据库?

jquery - jQuery 1.5 的 jqXHR 的原因/主要好处是什么?

javascript - 使用每个 jquery 循环遍历数组

html - 页眉、正文、页脚的多个背景图像

javascript - 我如何在无序列表中居中绝对列表项?

javascript - 简单的 CSS id-selector 不工作