I use Bootstrap 4.0 to create a simple landing page and using ScrollSpy on this page, but I can’t do it, it does not change the active menu items.
index.html -
<body>
<nav id="main-nav" class="navbar navbar-expand-lg bg-light bg-transparent fixed-top">
<div class="container">
<a class="navbar-brand" href="#"></a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-end" id="navbarSupportedContent">
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link" href="#header">Home</a></li>
<li class="nav-item"><a class="nav-link" href="#book">About Book</a></li>
<li class="nav-item"><a class="nav-link" href="#author">About Author</a></li>
<li class="nav-item"><a class="nav-link" href="#inspire">Inspire</a></li>
</ul>
</div>
</div>
</nav>
<header id="header" class="header">
</header>
<section id="book" class="book py-5">
</section>
<section id="author" class="author py-5">
</section>
<section id="inspire" class="author py-5">
</section>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/main.min.js"></script>
</body>
I have body{postsition: relative}in my style.cssfile.
main.js -
$(document).ready(function () {
$('body').scrollspy({
target: "#main-nav",
offset: 70
});
changeNavbar();
$(window).scroll(function () {
changeNavbar();
});
function changeNavbar() {
var navbar = $("#main-nav");
if ($(this).scrollTop() >= 100) {
navbar.addClass("bg-light").removeClass("bg-transparent");
} else if ($(this).scrollTop() < 100) {
navbar.removeClass("bg-light").addClass("bg-transparent");
}
}
});
I searched a lot, but did not get any solution, already wasted several hours, any help would be appreciated.
Thanks in advance.
source
share