我已经开始学习网络编程作为一个项目,我一直很难将链接显示为在导航栏上显示为活动状态。我确实从寻找过去提出的类似问题开始,但没有一个答案似乎解决了我的问题。
这是我的代码
<div>
<hr>
<nav class="container-fluid navbar navbar-expand-sm bg-dark navbar-dark" style="padding-left: 75px; margin-top: -16px;">
<ul class="navbar-nav">
<li class="active nav-item">
<a class="nav-link active" style = "padding-left: 0px; color: white;" href="#">Most Popular</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#" style="color: white">News</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#" style="color: white">Sports</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#" style="color: white">Science</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#" style="color: white">Politics</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#" style="color: white">Economics</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#" style="color: white">Random</a>
</li>
<li class="nav-item">
<a class="nav-link " style="padding-left: 480px; color: white; " href="#">Log in</a>
</li>
</ul>
</nav>
</div>
我尝试使用我发现的这个javascript但到目前为止还没有用到
$('.nav li').click(function(){
$('.nav li').removeClass('active');
$(this).addClass('active');
})
希望我的代码不是太时髦,因为我刚开始。非常感谢任何帮助,非常感谢!
答案 0 :(得分:2)
有多个问题......
.nav
在标记中的任何位置使用的类。它应该是$(&#39; .navbar-nav .nav-link&#39;)。style="color:white"
,这些链接将覆盖您对active
课程所做的任何更改。nav-link
而不是li,.navbar-dark .nav-item > .nav-link.active {
color:white;
}
$('.navbar-nav .nav-link').click(function(){
$('.navbar-nav .nav-link').removeClass('active');
$(this).addClass('active');
})
答案 1 :(得分:1)
如果导航栏中有相对链接(例如“ / projects”),
// remove any current navbar active classes
$(".navbar .nav-item.active").removeClass('active');
// add active class to proper navbar item that matches window.location
$('.navbar .nav-item a[href="' + location.pathname + '"]').closest('li').addClass('active');
答案 2 :(得分:0)
// active nav
// get current url
var location = window.location.href;
// remove active class from all
$(".navbar .nav-item").removeClass('active');
// add active class to div that matches active url
$(".nav-item a[href='"+location+"']").addClass('active');