Chciałbym pobrać element po przez klasę css by dodać do niego inna klase css i potem odpowiednio usunąć.
W head dołączam:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
Kod jQuery wyglada następująco
<script>
$(document).ready(function() {
$(window).scroll(function() {
var scrollTop = $(window).scrollTop();
if (scrollTop > $(document.body).offset().top) {
$("nav").addClass("nav-active");
//$("div").hasClass("nav-end").addClass("nav-end-active");
$("#abba").addClass("nav-end-active");
} else {
$("nav").removeClass("nav-active");
$("#abba").removeClass("nav-end-active");
}
});
});
</script>
Kod HTML:
<nav>
<div class="nav-logo">
<div class="text">LoremIpsum</div>
</div>
<div class="nav-button"></div>
<div class="nav-button"></div>
<div class="nav-button"></div>
<div class="nav-button"></div>
<div class="nav-button">
<div class="text">Lorem</div>
</div>
<div class="nav-button">
<div class="text">Lorem</div>
</div>
<div class="nav-button">
<div class="text">Lorem</div>
</div>
<div class="nav-button">
<div class="text">Lorem</div>
</div>
<div id="abba" class="nav-end">
<div class="text">Loremipsum.</div>
</div>
</nav>
Kod CSS:
nav {
position: fixed;
top: 0px;
left: 0px;
width: 100vw;
height: 10.5vh;
background-color: rgba(0, 0, 0, 0);
display: grid;
grid-template-rows: repeat(1, 1fr);
grid-template-columns: repeat(12, 1fr);
color: white;
overflow: visible;
z-index: 2;
transition: all 300ms ease;
}
nav:hover {
background-color: white;
color: black;
transition: all 300ms ease;
box-shadow: 0px 1px 3px 0px rgba(12, 31, 81, 0.75);
}
.nav-active {
background-color: white;
color: black;
transition: all 300ms ease;
box-shadow: 0px 1px 3px 0px rgba(12, 31, 81, 0.75);
}
nav:hover .nav-end {
border-left: 1px solid #E0E5F0;
opacity: 1.0;
}
.nav-end-active {
border-left: 1px solid #E0E5F0;
opacity: 1.0;
}
W konsoli nie mam błędów a mimo to klasa nie jest dodawana nawet poprzez ID. Macie jakies pomysły?
Nie wiem dlaczego klasa nie jest dodawana.