Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使活动导航栏链接更改背景色?引导程序4。_Javascript_Html_Css_Twitter Bootstrap - Fatal编程技术网

Javascript 如何使活动导航栏链接更改背景色?引导程序4。

Javascript 如何使活动导航栏链接更改背景色?引导程序4。,javascript,html,css,twitter-bootstrap,Javascript,Html,Css,Twitter Bootstrap,我意识到这个问题已经被问过好几次了,但没有一个解决方案对我有效。这是我的HTML: <div class="navbar-light" style="position: sticky; top: 0px; background: #fff0d8; z-index:99;"> <!--z-index to stay on top of everything else--> <div class="container"> <ul class="sc-na

我意识到这个问题已经被问过好几次了,但没有一个解决方案对我有效。这是我的HTML:

<div  class="navbar-light" style="position: sticky; top: 0px; background: #fff0d8; z-index:99;">  <!--z-index to stay on top of everything else-->
<div class="container">
<ul class="sc-nav nav navbar-nav nav-fill w-100 flex-md-row">
<li class="nav-item">
    <a class="nav-link" href="#">oihdma</a>
</li>
<li class="nav-item">
    <a class="nav-link" href="#">saaaassas</a>
</li>
<li class="nav-item">
    <a class="nav-link" href="#">fffffffffffff</a>
</li>
<li class="nav-item">
    <a class="nav-link" href="#">dsdsd</a>
</li>
<li class="nav-item">
    <a class="nav-link" href="#">fsfsfsfs</a>
</li>
<li class="nav-item">
    <a class="nav-link" href="#">fffff</a>
</li>
<li class="nav-item">
    <a class="nav-link" href="#">xxxxx</a>
</li>
</ul>
我在页面页脚中留下了这个脚本,所以它在页面加载后执行

最后,我的CSS:

  ul.nav a:hover, ul.nav a:focus, ul.nav a:active { background-color: #FDCBA3;} 

悬停和聚焦按预期工作,但不处于活动状态。该脚本使链接处于活动状态,文本的颜色发生变化,效果良好。但是背景色不会改变。它在悬停和聚焦时会发生变化,但在单击时不会发生变化。

伪类
:active
与Javascript中设置的
.active
类不同

请尝试以下操作:

ul.nav a:hover, ul.nav a:focus, ul.nav a.active { background-color: #FDCBA3;} 

:active
伪类与您在Javascript中设置的
.active
类不同

请尝试以下操作:

ul.nav a:hover, ul.nav a:focus, ul.nav a.active { background-color: #FDCBA3;} 

我检查了Firefox中的活动元素,发现我更改了错误的CSS。这就是成功的原因:

ul.nav a:hover, ul.nav a:focus, .active { background-color: #FDCBA3;} 

我检查了Firefox中的活动元素,发现我更改了错误的CSS。这就是成功的原因:

ul.nav a:hover, ul.nav a:focus, .active { background-color: #FDCBA3;} 

如果您的jquery添加了活动类,您的css不也应该包含它吗?澄清一下:当链接未定义时,即单击时,背景颜色保持不变,直到我单击页面的其他部分。但是当我在导航栏中点击一个已定义的链接时,页面加载时颜色会恢复。我对此进行了测试,它应该可以工作。它在JSFIDLE上工作,没有任何更改,直到您单击页面的其他部分,并且除非实际定义了链接,否则它才工作。页面加载会停止更改链接背景。如果jquery添加了活动类,css不也应该包含它吗?澄清一下:当链接未定义时,即单击时,背景颜色将保持更改,直到我单击页面的其他部分。但是当我在导航栏中点击一个已定义的链接时,页面加载时颜色会恢复。我对此进行了测试,它应该可以工作。它在JSFIDLE上工作,没有任何更改,直到您单击页面的其他部分,并且除非实际定义了链接,否则它才工作。页面加载会停止更改链接背景。嗯。。。不幸的是没有变化。嗯。。。不幸的是没有变化。