Redakcja BIP

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'); } } }); }); });