🩹 Fix submenus position after window resize
This commit is contained in:
parent
4d69c185e0
commit
c2ea399635
1 changed files with 18 additions and 5 deletions
|
|
@ -13,6 +13,7 @@ function menuHideChildren(nav, children) {
|
||||||
submenu.style.animation = 'slideRight 0.5s ease forwards';
|
submenu.style.animation = 'slideRight 0.5s ease forwards';
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
submenu.classList.remove('active');
|
submenu.classList.remove('active');
|
||||||
|
submenu.style.removeProperty("animation");
|
||||||
}, 300);
|
}, 300);
|
||||||
|
|
||||||
children.shift();
|
children.shift();
|
||||||
|
|
@ -30,6 +31,15 @@ function menuToggle(nav, overlay) {
|
||||||
overlay.classList.toggle('active');
|
overlay.classList.toggle('active');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function menuReset(menu, nav) {
|
||||||
|
nav.querySelector('.menu-header').classList.remove('active');
|
||||||
|
nav.querySelector('.menu-title').innerHTML = '';
|
||||||
|
menu.querySelectorAll('.menu-subs').forEach(submenu => {
|
||||||
|
submenu.classList.remove('active');
|
||||||
|
submenu.style.removeProperty("animation");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
document.querySelectorAll('.menu-container').forEach(menu => {
|
document.querySelectorAll('.menu-container').forEach(menu => {
|
||||||
|
|
||||||
let menuChildren = [];
|
let menuChildren = [];
|
||||||
|
|
@ -46,20 +56,19 @@ document.querySelectorAll('.menu-container').forEach(menu => {
|
||||||
menuShowChildren(menuNav, menuChildren);
|
menuShowChildren(menuNav, menuChildren);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
menu.querySelector('.menu-arrow').addEventListener('click', () => {
|
menu.querySelector('.menu-arrow').addEventListener('click', () => {
|
||||||
menuHideChildren(menuNav, menuChildren);
|
menuHideChildren(menuNav, menuChildren);
|
||||||
});
|
});
|
||||||
|
|
||||||
menu.querySelector('.menu-close').addEventListener('click', () => {
|
menu.querySelector('.menu-close').addEventListener('click', () => {
|
||||||
menuToggle(menuNav, menuOverlay);
|
menuToggle(menuNav, menuOverlay);
|
||||||
|
menuReset(menu, menuNav);
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
menuNav.querySelector('.menu-header').classList.remove('active');
|
|
||||||
menuNav.querySelector('.menu-title').innerHTML = '';
|
|
||||||
menu.querySelectorAll('.menu-subs').forEach(close => {
|
|
||||||
close.classList.remove('active');
|
|
||||||
});
|
|
||||||
menuChildren = [];
|
menuChildren = [];
|
||||||
}, 300);
|
}, 300);
|
||||||
});
|
});
|
||||||
|
|
||||||
menu.querySelector('.menu-trigger').addEventListener('click', () => {
|
menu.querySelector('.menu-trigger').addEventListener('click', () => {
|
||||||
menuToggle(menuNav, menuOverlay);
|
menuToggle(menuNav, menuOverlay);
|
||||||
});
|
});
|
||||||
|
|
@ -72,6 +81,10 @@ document.querySelectorAll('.menu-container').forEach(menu => {
|
||||||
if (this.innerWidth >= 992) {
|
if (this.innerWidth >= 992) {
|
||||||
if (menuNav.classList.contains('active')) {
|
if (menuNav.classList.contains('active')) {
|
||||||
menuToggle(menuNav, menuOverlay);
|
menuToggle(menuNav, menuOverlay);
|
||||||
|
menuReset(menu, menuNav);
|
||||||
|
setTimeout(() => {
|
||||||
|
menuChildren = [];
|
||||||
|
}, 300);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue