sanic_start
63 строки · 1.9 Кб
1document.addEventListener('DOMContentLoaded', () => {2
3// Get all "navbar-burger" elements4const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);5console.log($navbarBurgers)6// Add a click event on each of them7$navbarBurgers.forEach( el => {8el.addEventListener('click', () => {9
10// Get the target from the "data-target" attribute11const target = el.dataset.target;12const $target = document.getElementById(target);13
14// Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu"15el.classList.toggle('is-active');16$target.classList.toggle('is-active');17
18});19});20
21});22document.addEventListener('DOMContentLoaded', () => {23// Functions to open and close a modal24function openModal($el) {25$el.classList.add('is-active');26}27
28function closeModal($el) {29$el.classList.remove('is-active');30}31
32function closeAllModals() {33(document.querySelectorAll('.modal') || []).forEach(($modal) => {34closeModal($modal);35});36}37
38// Add a click event on buttons to open a specific modal39(document.querySelectorAll('.js-modal-trigger') || []).forEach(($trigger) => {40const modal = $trigger.dataset.target;41const $target = document.getElementById(modal);42
43$trigger.addEventListener('click', () => {44openModal($target);45});46});47
48// Add a click event on various child elements to close the parent modal49(document.querySelectorAll('.modal-background, .modal-close, .modal-card-head .delete, .modal-card-foot .button') || []).forEach(($close) => {50const $target = $close.closest('.modal');51
52$close.addEventListener('click', () => {53closeModal($target);54});55});56
57// Add a keyboard event to close all modals58document.addEventListener('keydown', (event) => {59if(event.key === "Escape") {60closeAllModals();61}62});63});64