diff options
Diffstat (limited to 'themes/new_theme/static/js/menu.js')
-rw-r--r-- | themes/new_theme/static/js/menu.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/themes/new_theme/static/js/menu.js b/themes/new_theme/static/js/menu.js new file mode 100644 index 0000000..16f1d37 --- /dev/null +++ b/themes/new_theme/static/js/menu.js @@ -0,0 +1,25 @@ +'use strict'; + +(function iifeMenu(document, window, undefined) { + var menuBtn = document.querySelector('.menu__btn'); + var menu = document.querySelector('.menu__list'); + + function toggleMenu() { + menu.classList.toggle('menu__list--active'); + menu.classList.toggle('menu__list--transition'); + this.classList.toggle('menu__btn--active'); + this.setAttribute( + 'aria-expanded', + this.getAttribute('aria-expanded') === 'true' ? 'false' : 'true' + ); + } + + function removeMenuTransition() { + this.classList.remove('menu__list--transition'); + } + + if (menuBtn && menu) { + menuBtn.addEventListener('click', toggleMenu, false); + menu.addEventListener('transitionend', removeMenuTransition, false); + } +}(document, window)); |