redaktor: Anna Sitarek 52 345-28-17 redaktor: Paweł Wysiński 52 345-28-17
document.addEventListener('DOMContentLoaded', function () {
// Automatycznie otwórz podmenu jeśli zawiera aktywną stronę
const activeItems = document.querySelectorAll(
'.elementor-nav-menu--layout-vertical .current-menu-item, ' +
'.elementor-nav-menu--layout-vertical .current-menu-parent, ' +
'.elementor-nav-menu--layout-vertical .current-menu-ancestor'
);
activeItems.forEach(function (item) {
// Otwórz wszystkich rodziców aż do góry menu
let parent = item.closest('.menu-item-has-children');
while (parent) {
parent.classList.add('open');
parent = parent.parentElement.closest('.menu-item-has-children');
}
});
// Klikanie w pozycje z podmenu
const verticalMenu = document.querySelectorAll(
'.elementor-nav-menu--layout-vertical .menu-item-has-children > a'
);
verticalMenu.forEach(function (link) {
link.addEventListener('click', function (e) {
e.preventDefault();
const parent = this.parentElement;
const isOpen = parent.classList.contains('open');
// Zamknij inne otwarte podmenu na tym samym poziomie
const siblings = parent.parentElement.querySelectorAll(
':scope > .menu-item-has-children'
);
siblings.forEach(function (sib) {
// Nie zamykaj jeśli zawiera aktywną stronę
if (!sib.classList.contains('current-menu-parent') &&
!sib.classList.contains('current-menu-ancestor')) {
sib.classList.remove('open');
}
});
// Przełącz kliknięty
if (!isOpen) {
parent.classList.add('open');
} else {
// Pozwól zamknąć tylko jeśli to nie jest aktywna gałąź
if (!parent.classList.contains('current-menu-parent') &&
!parent.classList.contains('current-menu-ancestor')) {
parent.classList.remove('open');
}
}
});
});
});