I want that the image in the navbar shrinks and that my classes float with the class hidden-box. The float in works, but the navbar image does not get smaller when I'm scrolling.
"use strict";
document.addEventListener("DOMContentLoaded", () => {
const observer = new IntersectionObserver((entries) => {
entries.forEach((entry) => {
if (entry.isIntersecting) {
entry.target.classList.add("show");
}
});
});
document.querySelectorAll(".hidden-box").forEach((el) => observer.observe(el));
let navbar = document.querySelector(".navbar");
window.addEventListener("scroll", function() {
if (window.scrollY > 50) {
navbar.classList.add("shrink");
} else {
navbar.classList.remove("shrink");
}
});
});
.navbar {
background: white;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
border-bottom: 5px solid;
border-image: linear-gradient(to right, var(--primary-red), var(--primary-blue)) 1;
padding: 5px 0;
transition: all 0.3s ease-in-out;
}
.navbar-brand img {
width: 300px !important;
height: auto;
transition: width 0.3s ease-in-out !important;
}
.navbar.shrink .navbar-brand img {
width: 200px !important;
}
<script src=".7.1/jquery.min.js"></script>
<script src="/[email protected]/dist/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="/[email protected]/dist/css/bootstrap.min.css" />
<nav class="navbar navbar-expand-lg fixed-top" id="navbar">
<div class="container">
<a class="navbar-brand" href="#">
<img src=".png" class="logo" id="logo" alt="Logo">
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="#">item1</a></li>
<li class="nav-item"><a class="nav-link" href="#">item2</a></li>
<li class="nav-item"><a class="nav-link" href="#">item3</a></li>
<li class="nav-item"><a class="nav-link" href="#">item4</a></li>
<li class="nav-item"><a class="nav-link" href="">item5</a></li>
</ul>
</div>
</div>
</nav>