toutes les pages de mobile ok
This commit is contained in:
@@ -18,22 +18,56 @@
|
||||
});
|
||||
})(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();
|
||||
menu.classList.toggle("active");
|
||||
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 isMenuClicked = event.target.closest("#menu") !== null;
|
||||
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');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user