Jquery 启动时启动3导航栏颜色下拉按钮

Jquery 启动时启动3导航栏颜色下拉按钮,jquery,html,css,twitter-bootstrap,twitter-bootstrap-3,Jquery,Html,Css,Twitter Bootstrap,Twitter Bootstrap 3,我有一个引导导航条,我想上色。下拉列表仅在单击导航栏上的按钮时显示,而不是将鼠标悬停在上方,因此适合移动用户 现在,当按钮处于活动状态时,它显示为白色,文本颜色变为黑色。当它悬停在上方时,它会变为较深的蓝色,这是我希望它在激活时保持的蓝色。我尝试过许多其他示例,例如.active>a:focus和.active>a:active,但都不起作用 导航栏的html代码如下: <nav id="menu" class="navbar navbar-default">

我有一个引导导航条,我想上色。下拉列表仅在单击导航栏上的按钮时显示,而不是将鼠标悬停在上方,因此适合移动用户

现在,当按钮处于活动状态时,它显示为白色,文本颜色变为黑色。当它悬停在上方时,它会变为较深的蓝色,这是我希望它在激活时保持的蓝色。我尝试过许多其他示例,例如.active>a:focus和.active>a:active,但都不起作用

导航栏的html代码如下:

<nav id="menu" class="navbar navbar-default">

            <div class="container-fluid" id="fullNav">

                <div class="navbar-header">

                    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbarBody" aria-expanded="false" id="collapsedNavbarExpand">
                        <span class="sr-only">Toggle navigation</span>
                        <span class="icon-bar" ></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>

                    <a class="navbar-brand" href="index.html">Logo</a>

                </div>

                <div class="collapse navbar-collapse" id="navbarBody">

                    <ul class="nav navbar-nav">

                        <li class="dropdown">

                            <a href="#" class="dropdown-toggle navOption" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
                                Tourism 
                                <span class="caret"> </span>

                            </a>

                            <ul class="dropdown-menu">

                                <li> <a href="../Pages/tourismHub.html"> <b> Tourism Hub </b> </a> </li>
                                <li role="separator" class="divider"></li>
                                <li> <a href="../Pages/eatingOut.html"> Eating Out </a> </li>
                                <li> <a href="../Pages/attractions.html"> Attractions </a> </li>
                                <li> <a href="../Pages/events.html"> Events </a> </li>
                                <li> <a href="../Pages/history.html"> Town History </a> </li>

                            </ul>

                        </li>

                        <li class="dropdown">

                            <a href="#" class="dropdown-toggle navOption" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">

                                Residents
                                <span class="caret"> </span>

                            </a>

                            <ul class="dropdown-menu">

                                <li> <a href="../Pages/residentsHub.html"> <b> Residents Hub </b> </a> </li>
                                <li role="separator" class="divider"></li>
                                <li> <a href="../Pages/events.html"> Events </a> </li>
                                <li> <a href="../Pages/eatingOut.html"> Eating Out </a> </li>
                                <li> <a href="../Pages/history.html"> History </a> </li>

                            </ul>

                        </li>

                        <li class="dropdown">

                            <a href="#" class="dropdown-toggle navOption" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">

                                Prospective Residents
                                <span class="caret"> </span>

                            </a>

                            <ul class="dropdown-menu">

                                <li> <a href="../Pages/prospectiveResidentsHub.html"> <b> Prospective Residents Hub </b> </a> </li>
                                <li role="separator" class="divider"></li>
                                <li> <a href="../Pages/realEstate.html"> Real Estate </a> </li>
                                <li> <a href="../Pages/attractions.html"> Attractions </a> </li>
                                <li> <a href="../Pages/history.html"> Town History </a> </li>
                                <li> <a href="../Pages/eatingOut.html"> Eating Out </a> </li>

                            </ul>

                        </li>

                        <li class="dropdown">

                            <a href="#" class="dropdown-toggle navOption" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">

                                Locations
                                <span class="caret"> </span>

                            </a>

                            <ul class="dropdown-menu">

                                <li> <a href="../Pages/locationsHub.html"> <b> Locations Hub </b> </a> </li>
                                <li role="separator" class="divider"></li>
                                <li> <a href="../Pages/marina.html"> Marina </a> </li>
                                <li> <a href="../Pages/highStreet.html"> High Street </a> </li>
                                <li> <a href="../Pages/parishWharf.html"> Parish Wharf </a> </li>
                                <li> <a href="../Pages/lakeGrounds.html"> Lake Grounds </a> </li>

                            </ul>

                        </li>

                        <li> <a href="../Pages/map.html" class="navOption"> Map </a> </li>

                    </ul>

                </div>

            </div>

        </nav>

切换导航
由于从我的网站上粘贴,缩进有点破损。CSS代码可以在JSFIDLE中看到。bootstrap.js、bootstrap.css和jquery-2.2.0.js将进一步导入页面

下面链接了一个正在工作的JSFIDLE示例。要查看实际效果,必须展开“结果”窗口,使导航栏不会折叠。单击鼠标后,您还必须将鼠标从其中一个下拉按钮中移除,以查看鼠标变为白色

以下是JSFIDLE链接:


任何解决方案都会很好,谢谢

当下拉列表同时为
.open
a
元素聚焦时,应用该样式:

.navbar default.navbar nav>.open>a,
.navbar默认值.navbar导航>.open>a:悬停,
.navbar默认值.navbar导航>.open>a:焦点{
背景色:#e7e7e7;
颜色:#555;
}
您当前的覆盖不适合聚焦样式,因此您只需将其添加到:

.navbar default.navbar nav>.open>a,
.navbar默认值.navbar导航>.open>a:悬停,
.navbar默认值.navbar nav>.open>a:focus,/*.open>a:active{
颜色:#ffffff;
背景色:#084c78;
}
。修复程序应用于第53行。

试试这个js

<script>
$(document).ready(function () {
    var url = document.URL;
    $(".list-unstyled li").each(function () {
        var y = $(this).children("a").attr('href');
        var pieces = url.split('/');
        //var routeData= route.substring(0, route.indexOf('?'));
        var abc= pieces[pieces.length - 1].substring(0,pieces[pieces.length - 1].indexOf('?'));
        if(abc)
        {
            if (pieces[pieces.length - 1].substring(0,pieces[pieces.length - 1].indexOf('?')) == y) 
            {
                if ($(this).parents(".has-submenu").length == 1) 
                {
                    $(this).addClass("active");
                    $(this).parents(".has-submenu").addClass("active")
                }
                else 
                {
                    $(this).addClass("active");
                }
            }
        }
        else
        {
            if (pieces[pieces.length - 1] == y) 
            {
                if ($(this).parents(".has-submenu").length == 1) 
                {
                    $(this).addClass("active");
                    $(this).parents(".has-submenu").addClass("active")
                }
                else 
                {
                    $(this).addClass("active");
                }
            }
        }
    });

});
</script>

$(文档).ready(函数(){
var url=document.url;
$(“.list未设置样式的li”)。每个(函数(){
var y=$(this.children(“a”).attr('href');
var pieces=url.split('/');
//var routeData=route.substring(0,route.indexOf('?');
var abc=pieces[pieces.length-1]。子字符串(0,pieces[pieces.length-1]。indexOf('?');
国际单项体育联合会(abc)
{
if(碎片[pieces.length-1]。子字符串(0,碎片[pieces.length-1]。indexOf(“?”)==y)
{
if($(this).parents(“.has子菜单”).length==1)
{
$(此).addClass(“活动”);
$(此).parents(“.has子菜单”).addClass(“活动”)
}
其他的
{
$(此).addClass(“活动”);
}
}
}
其他的
{
如果(个数[个数.长度-1]==y)
{
if($(this).parents(“.has子菜单”).length==1)
{
$(此).addClass(“活动”);
$(此).parents(“.has子菜单”).addClass(“活动”)
}
其他的
{
$(此).addClass(“活动”);
}
}
}
});
});

Ah既然你解释得更好,我就删除了我的答案!:)当$(此).addClass(“活动”);您可以创建css并在适当的位置添加addClass(“active”);这可以用cssok中的一行代码来完成。没问题。这段代码用于当前菜单活动或下拉菜单活动检查,并使用css活动