From: Dan Allen Date: Mon, 21 Dec 2020 00:13:08 +0000 (-0700) Subject: refactor logic for navbar burger to align with other scripts X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=d84a9d224a4fdf056ecf76397b1711f19dba5afa;p=eg-antora.git refactor logic for navbar burger to align with other scripts --- diff --git a/src/js/05-mobile-navbar.js b/src/js/05-mobile-navbar.js index ba5cb09..17f0452 100644 --- a/src/js/05-mobile-navbar.js +++ b/src/js/05-mobile-navbar.js @@ -1,12 +1,14 @@ -document.addEventListener('DOMContentLoaded', function () { - var navbarToggles = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0) - if (navbarToggles.length === 0) return - navbarToggles.forEach(function (el) { - el.addEventListener('click', function (e) { - e.stopPropagation() - el.classList.toggle('is-active') - document.getElementById(el.dataset.target).classList.toggle('is-active') - document.documentElement.classList.toggle('is-clipped--navbar') - }) - }) -}) +;(function () { + 'use strict' + + var navbarBurger = document.querySelector('.navbar-burger') + if (!navbarBurger) return + navbarBurger.addEventListener('click', toggleNavbarMenu.bind(navbarBurger)) + + function toggleNavbarMenu (e) { + e.stopPropagation() // trap event + this.classList.toggle('is-active') + document.getElementById(this.dataset.target).classList.toggle('is-active') + document.documentElement.classList.toggle('is-clipped--navbar') + } +})()