/** * @file * erabletheme behaviors. */ (function (Drupal) { 'use strict'; Drupal.behaviors.erabletheme = { attach: function (context, settings) { (function($, window) { let slickEl = $('.slick-container').children().first().children().first().children().first().children().first(); $(slickEl).slick({ arrows: false, dots: true, appendDots: $('#carousel_dots') }); })(jQuery, window); // // Toggle du menu // const hamburgerBtn = document.getElementById("hamburger"); const hamburgerIcon = document.querySelector(".burger-icon"); const menu = hamburgerBtn.nextElementSibling; const menuItems = menu.children; const opacityDelay = 50; function toggleMenuItems(action) { let delay = opacityDelay; for (let i = 0; i < menuItems.length; i++) { setTimeout(() => { if (action === 'show') { menuItems[i].classList.add('visible'); } else if (action === 'hide') { menuItems[menuItems.length - i - 1].classList.remove('visible'); } }, delay); delay += opacityDelay; } } // Toggle menu visibility on hamburger click hamburgerBtn.addEventListener("click", function(event) { event.stopPropagation(); hamburgerIcon.classList.toggle('open'); if(menu.classList.contains('active')) { setTimeout(() => { menu.style.display = "none"; }, 700); toggleMenuItems('hide'); } else { menu.style.display = "block"; toggleMenuItems('show'); } setTimeout(() => { menu.classList.toggle("active"); }, 1); }); // Close menu when clicking outside of the menu document.addEventListener("click", function(event) { const isHamburgerClicked = event.target === hamburgerBtn; const isMenuClicked = event.target === menu || event.target.parentElement === menu; if (!isMenuClicked && !isHamburgerClicked) { hamburgerIcon.classList.remove('open'); menu.classList.remove("active"); toggleMenuItems('hide'); } }); } }; } (Drupal));