【发布时间】:2019-03-18 05:55:45
【问题描述】:
我有一个正在开发的网站,并且我设置了导航项,因此当您单击导航链接时,它会将活动类更改为您单击的链接。
说到这里,如何在导航栏中将某个链接设置为默认处于活动状态?
代码:
$(".nav-item a").on("click", function() {
$(".nav-item a").removeClass("active");
$(this).addClass("active");
});
.nav-item a.active {
color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<nav class="navbar navbar-expand-lg navbar-light bg-light fixed-top">
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link" href="#">Home
<span class="sr-only">(current)</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contact</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Shop</a>
</li>
</ul>
</div>
</nav>
我对 javascript 还是很陌生,所以任何帮助都会很棒(即使它不起作用)
编辑:看来我没有添加足够的细节,对不起。
我希望主页导航链接保持活动状态,直到用户单击另一个导航链接到页面的另一部分(我正在考虑滚动到网站的不同部分,但那完全是一个不同的问题)。考虑到这一点,我希望网站功能保持不变,但在单击其他链接时更改默认活动链接。
【问题讨论】:
-
您想激活哪个链接?有什么标准吗?或者任何随机链接都可以设置为活动状态?
-
为什么不在 html 中的任何默认元素上添加
active类?<a class="nav-link active" href="#"> -
同意@cjmling - 如果没有设置活动链接的编程标准并且应该始终相同,最好只在 HTML 中进行设置。
-
@cjmling 我一开始就是这样,但是当点击另一个链接时它会保持活动状态
标签: javascript jquery html navbar