Trying to create a basic drop down menu that appears once size of screen reaches certain pixels.
HTML code is as follows:
<div class="navigation">
<a href="#" class="hamburger">
<span class="bar"></span>
<span class="bar"></span>
<span class="bar"></span>
</a>
<div class="nav-link-wrapper">
<a href="index.html">Home</a>
</div>
<div class="nav-link-wrapper">
<a href="contact.html">Contact</a>
</div>
</div>
Have a Javascript code that goes like this:
const toggleButton = document.getElementsByClassName('hamburger')[0]
const navbarLinks = document.getElementsByClassName('nav-link-wrapper')[0]
toggleButton.addEventListener('click', () => {
navbarLinks.classList.toggle('active')
})
And my CSS code goes like:
@media only screen and (max-width: 650px) {
.hamburger{
display: block;
}
.navigation{
/* display: none; */
display: flex;
justify-content: space-between;
padding: 30px;
border-bottom: 2px solid rgb(185, 22, 22);
border-top: 2px solid rgb(185, 22, 22);
font-size: large;
flex-direction: column;
align-items: flex-start;
}
.nav-link-wrapper{
display: none;
width: 100%;
text-align: center;
/* padding-top: 10px; */
flex-direction: column;
}
.nav-link-wrapper.active{ /*NOT GETTING ACTIVE*/
display: flex;
}
}
No matter what I try, the nav-link-wrapper.active does not happen. The nav bar does appear if I change display from 'none' to 'flex' so I know what it should look like, but the 'active' function from javascript doesnt seem to be doing anything.