From 6821662127a7959fb9a1bd2e702333984fe6a85b Mon Sep 17 00:00:00 2001 From: Daniel Rudolf Date: Sat, 29 Aug 2020 17:07:41 +0200 Subject: [PATCH] JavaScript: Don't setup nav toggle when there's no menu --- js/pico.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/js/pico.js b/js/pico.js index 4ddb6ad..7f5449b 100644 --- a/js/pico.js +++ b/js/pico.js @@ -28,10 +28,12 @@ function main() // responsive menu var menu = document.getElementById('nav'), - menuToggle = document.getElementById('nav-toggle'), - toggleMenuEvent = function (event) { + menuToggle = document.getElementById('nav-toggle'); + + if (menu && menuToggle) { + function toggleMenuEvent(event) { if (event.type === 'keydown') { - if ((event.keyCode != 13) && (event.keyCode != 32)) { + if ((event.keyCode !== 13) && (event.keyCode !== 32)) { return; } } @@ -49,8 +51,9 @@ function main() menuToggle.setAttribute('aria-expanded', 'false'); utils.slideUp(menu); } - }, - onResizeEvent = function () { + } + + function onResizeEvent() { if (utils.isElementVisible(menuToggle)) { menu.className = 'hidden'; menuToggle.addEventListener('click', toggleMenuEvent); @@ -61,10 +64,11 @@ function main() menuToggle.removeEventListener('click', toggleMenuEvent); menuToggle.removeEventListener('keydown', toggleMenuEvent); } - }; + } - window.addEventListener('resize', onResizeEvent); - onResizeEvent(); + window.addEventListener('resize', onResizeEvent); + onResizeEvent(); + } } main();