I am needed to select all three icons and be able to have them rotate 180 when a user clicks on them. With the current code written, it is only targeting the first arrow icon, allowing it to turn 180 and back. Yet when I click on the other two icons, they do not rotate/ AND the first icon rotates even though I didn't click on the first icon.
const arrowFlip = () => {
let div = document.getElementById("nav__links");
let icon = document.getElementById("icon");
let open = false;
div.addEventListener("click", function() {
if (open) {
icon.className = "menu-arrow-down";
} else {
icon.className = "menu-arrow-down open";
}
open = !open;
});
};
arrowFlip();
.menu-arrow-down {
transform: rotate(0deg);
transition: 1s linear;
}
.menu-arrow-down.open {
transform: rotate(180deg);
transition: 1s linear;
}
<ul id="nav__links" class="nav__links">
<div class="desktop__nav">
<li class="parent">
<a href="#">Product</a>
<img id="icon" class="menu-arrow menu-arrow-down" src="./images/icon-arrow-light.svg" alt="arrow" />
<ul class="sub-menu">
<li>Overview</li>
<li>Pricing</li>
<li>Marketplace</li>
<li>Features</li>
<li>Integrations</li>
</ul>
</li>
<li class="parent">
<a href="#">Company</a>
<img id="icon" class="menu-arrow menu-arrow-down" src="./images/icon-arrow-light.svg" alt="arrow" />
<ul class="sub-menu">
<li>About</li>
<li>Team</li>
<li>Blog</li>
<li>Careers</li>
</ul>
</li>
<li class="parent">
<a href="#">Connect</a>
<img id="icon" class="menu-arrow menu-arrow-down" src="./images/icon-arrow-light.svg" alt="arrow" />
<ul class="sub-menu">
<li>Contact</li>
<li>Newsletter</li>
<li>LinkedIn</li>
</ul>
</li>
</div>