drupal-erable/web/themes/erabletheme/js/erabletheme.js

34 lines
881 B
JavaScript
Raw Normal View History

2023-11-30 17:33:32 +01:00
/**
* @file
* erabletheme behaviors.
*/
(function (Drupal) {
'use strict';
Drupal.behaviors.erabletheme = {
attach: function (context, settings) {
const hamburgerBtn = document.getElementById("hamburger");
const menu = hamburgerBtn.nextElementSibling;
// Toggle menu visibility on hamburger click
hamburgerBtn.addEventListener("click", function(event) {
event.stopPropagation();
menu.classList.toggle("active");
});
// Close menu when clicking outside of the menu
document.addEventListener("click", function(event) {
const isMenuClicked = event.target.closest("#menu") !== null;
const isHamburgerClicked = event.target === hamburgerBtn;
if (!isMenuClicked && !isHamburgerClicked) {
menu.classList.remove("active");
}
});
2023-11-30 17:33:32 +01:00
}
};
} (Drupal));