Spaces:
Runtime error
Runtime error
| class MobileNavbar { | |
| constructor(mobileMenu, navList, navLinks) { | |
| this.mobileMenu = document.querySelector(mobileMenu); | |
| this.navList = document.querySelector(navList); | |
| this.navLinks = document.querySelectorAll(navLinks); | |
| this.activeClass = "active"; | |
| this.handleClick = this.handleClick.bind(this); | |
| } | |
| animateLinks(){ | |
| this.navLinks.forEach((link) => { | |
| link.style.animation | |
| ? (link.style.animation = "") | |
| : (link.style.animation = 'navLinkFade 0.5s ease forwards 0.3s') | |
| }); | |
| } | |
| handleClick(){ | |
| this.navList.classList.toggle(this.activeClass); | |
| this.mobileMenu.classList.toggle(this.activeClass); | |
| this.animateLinks(); | |
| } | |
| addClickEvent(){ | |
| this.mobileMenu.addEventListener("click", this.handleClick); | |
| } | |
| init () { | |
| if (this.mobileMenu) { | |
| this.addClickEvent(); | |
| } | |
| return this; | |
| } | |
| } | |
| const mobileNavbar = new MobileNavbar( | |
| ".mobile-menu", | |
| ".nav-list", | |
| ".nav-list li", | |
| ); | |
| mobileNavbar.init(); | |