【发布时间】:2021-09-22 15:53:24
【问题描述】:
我已经完成了一些 javascript 课程,但实际上在功能性 Web 项目上使用它是非常谦虚的。
我有一个带有同页页面链接的导航栏。我想将导航项目更改为在单击它们时以及当页面滚动到页面的该部分时都处于活动状态。我还想更改活动导航项的 innerHTML。
我的 javascript 显然是一团糟。我想尝试至少解决这个问题,然后回到练习 JS。
<div class="collapse navbar-collapse" style="background-color: #1e3d58;" id="navbarToggler">
<ul class="navbar-nav text-center mx-auto mb-2 mb-sm-0">
<li class="nav-item">
<a class="nav-link" href="#home">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#about">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#skills">Skills</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#contact">Contact</a>
</li>
</ul>
<div class="d-none d-sm-flex mt-sm-2 mt-md-0 justify-content-center">
<a class="btn btn-social-icon btn-linkedin" href="#"><i class="fab fa-2x fa-github-square"></i></a>
<a class="btn btn-social-icon btn-linkedin" href="http://www.linkedin.com/in/"><i
class="fab fa-2x fa-linkedin"></i></a>
</div>
</div>
.nav-item {
padding: 0px 2vw 0px 2vw;
}
.nav-link {
color: #e8eef1 !important;
}
nav .fab {
color: #e8eef1;
margin: 0px -8px 0px -8px;
}
nav {
max-height: 60px;
}
document.querySelector(function () {
document.querySelector(".nav-item").click(function () {
document.querySelector(".nav-item").each(function () {
document.querySelector(this).querySelector("a").removeClass("active");
});
document.querySelector(this).querySelector("a").classList.add("active");
});
});
document.querySelector(function () {
for (document.querySelector(".nav-item")) {
if document.querySelector("a").hasClass("active")
then document.querySelector("a").innerHTML = "<" + document.querySelector('a') + "/>"
};
});
【问题讨论】:
标签: javascript html twitter-bootstrap