diff --git a/cene-in-reference/index.html b/cene-in-reference/index.html index d4c54eb..aa52a17 100644 --- a/cene-in-reference/index.html +++ b/cene-in-reference/index.html @@ -107,7 +107,7 @@ Kdo sem - Kontakt + Kontakt Pogosta vprašanja Cene in reference diff --git a/cene-in-sodelovanja/index.html b/cene-in-sodelovanja/index.html index 7a540f3..dc4be4f 100644 --- a/cene-in-sodelovanja/index.html +++ b/cene-in-sodelovanja/index.html @@ -107,7 +107,7 @@ Kdo sem - Kontakt + Kontakt Pogosta vprašanja Cene in reference diff --git a/css/style.css b/css/style.css index d4f6031..c954f66 100644 --- a/css/style.css +++ b/css/style.css @@ -84,7 +84,8 @@ body.no-scroll { } .nav-links a:hover, -.nav-links a.active { +.nav-links a.active, +.dropbtn.active { color: var(--primary-color); } diff --git a/delavnice/index.html b/delavnice/index.html index ac2de53..edaae2a 100644 --- a/delavnice/index.html +++ b/delavnice/index.html @@ -107,7 +107,7 @@ Kdo sem - Kontakt + Kontakt Pogosta vprašanja Cene in reference diff --git a/header-template.html b/header-template.html index 9f001b7..cbdfcfe 100644 --- a/header-template.html +++ b/header-template.html @@ -96,7 +96,7 @@ Kdo sem - Kontakt + Kontakt Pogosta vprašanja Cene in reference diff --git a/index.html b/index.html index 44326c2..f0faa50 100644 --- a/index.html +++ b/index.html @@ -107,7 +107,7 @@ Kdo sem - Kontakt + Kontakt Pogosta vprašanja Cene in reference diff --git a/js/main.js b/js/main.js index 9217fb8..436b3d6 100644 --- a/js/main.js +++ b/js/main.js @@ -6,6 +6,73 @@ document.addEventListener('DOMContentLoaded', function() { let closeMobileMenu = () => {}; let resetMobileSubmenus = () => {}; + const normalizePath = (value) => { + if (!value) { + return '/'; + } + let clean = value.split('?')[0].split('#')[0]; + clean = clean.replace(/index\.html$/i, ''); + clean = clean.replace(/\/+$/, ''); + if (clean === '') { + clean = '/'; + } + return clean; + }; + + const applyActiveNavState = () => { + const navRoot = document.querySelector('.nav-links'); + if (!navRoot) { + return; + } + + navRoot.querySelectorAll('a.active, .dropbtn.active').forEach(el => { + el.classList.remove('active'); + }); + + const currentPath = normalizePath(window.location.pathname); + const navAnchors = navRoot.querySelectorAll('a[href]'); + let matchedLink = null; + + navAnchors.forEach(anchor => { + const href = anchor.getAttribute('href'); + if (!href || href.startsWith('http') || href.startsWith('mailto:') || href.startsWith('tel:') || href.startsWith('#')) { + return; + } + + const linkPath = normalizePath(href); + if (linkPath === currentPath) { + matchedLink = anchor; + } + }); + + if (!matchedLink) { + return; + } + + matchedLink.classList.add('active'); + + const highlightDropdownParents = (element) => { + let parentContent = element.closest('.dropdown-submenu-content, .dropdown-content'); + while (parentContent) { + const trigger = parentContent.previousElementSibling; + if (trigger && (trigger.tagName === 'A' || trigger.classList.contains('dropbtn'))) { + trigger.classList.add('active'); + } + parentContent = parentContent.parentElement ? parentContent.parentElement.closest('.dropdown-submenu-content, .dropdown-content') : null; + } + }; + + highlightDropdownParents(matchedLink); + + const topLevelDropdown = matchedLink.closest('.dropdown'); + if (topLevelDropdown) { + const trigger = topLevelDropdown.querySelector('.dropbtn'); + if (trigger) { + trigger.classList.add('active'); + } + } + }; + if (mobileMenuBtn && navLinks) { resetMobileSubmenus = () => { navLinks.querySelectorAll('.dropdown-content, .dropdown-submenu-content').forEach(submenu => { @@ -14,6 +81,7 @@ document.addEventListener('DOMContentLoaded', function() { navLinks.querySelectorAll('.dropbtn, .dropdown-submenu > a').forEach(link => { link.classList.remove('active'); }); + applyActiveNavState(); }; closeMobileMenu = () => { @@ -37,6 +105,9 @@ document.addEventListener('DOMContentLoaded', function() { }); } + // --- Active Navigation Highlight --- + applyActiveNavState(); + // --- Mobile Dropdown Logic --- // Logika za odpiranje podmenijev na klik na mobilnih napravah const dropdowns = document.querySelectorAll('.nav-links .dropdown-submenu > a, .nav-links .dropdown > .dropbtn'); diff --git a/kdo-sem/index.html b/kdo-sem/index.html index 01bfb30..b3ba65b 100644 --- a/kdo-sem/index.html +++ b/kdo-sem/index.html @@ -107,7 +107,7 @@ Kdo sem - Kontakt + Kontakt Pogosta vprašanja Cene in reference diff --git a/kontakt/index.html b/kontakt/index.html index 36918d2..badee06 100644 --- a/kontakt/index.html +++ b/kontakt/index.html @@ -107,7 +107,7 @@ Kdo sem - Kontakt + Kontakt Pogosta vprašanja Cene in reference diff --git a/pogosta-vprasanja/index.html b/pogosta-vprasanja/index.html index ed09647..0b0a85d 100644 --- a/pogosta-vprasanja/index.html +++ b/pogosta-vprasanja/index.html @@ -107,7 +107,7 @@ Kdo sem - Kontakt + Kontakt Pogosta vprašanja Cene in reference diff --git a/ponudba/index.html b/ponudba/index.html index f0e2cf3..1ecca03 100644 --- a/ponudba/index.html +++ b/ponudba/index.html @@ -107,7 +107,7 @@ Kdo sem - Kontakt + Kontakt Pogosta vprašanja Cene in reference diff --git a/skupaj-za-vkljucevanje/delavnica-od-tujca-do-sosolca/index.html b/skupaj-za-vkljucevanje/delavnica-od-tujca-do-sosolca/index.html index f2b6cfd..0627fa7 100644 --- a/skupaj-za-vkljucevanje/delavnica-od-tujca-do-sosolca/index.html +++ b/skupaj-za-vkljucevanje/delavnica-od-tujca-do-sosolca/index.html @@ -107,7 +107,7 @@ Kdo sem - Kontakt + Kontakt Pogosta vprašanja Cene in reference diff --git a/skupaj-za-vkljucevanje/delavnica-sola-in-starsi/index.html b/skupaj-za-vkljucevanje/delavnica-sola-in-starsi/index.html index 7dd4989..4a38626 100644 --- a/skupaj-za-vkljucevanje/delavnica-sola-in-starsi/index.html +++ b/skupaj-za-vkljucevanje/delavnica-sola-in-starsi/index.html @@ -107,7 +107,7 @@ Kdo sem - Kontakt + Kontakt Pogosta vprašanja Cene in reference diff --git a/skupaj-za-vkljucevanje/delavnica-vrtec-novi-zacetki/index.html b/skupaj-za-vkljucevanje/delavnica-vrtec-novi-zacetki/index.html index 0ced28d..551fe75 100644 --- a/skupaj-za-vkljucevanje/delavnica-vrtec-novi-zacetki/index.html +++ b/skupaj-za-vkljucevanje/delavnica-vrtec-novi-zacetki/index.html @@ -107,7 +107,7 @@ Kdo sem - Kontakt + Kontakt Pogosta vprašanja Cene in reference diff --git a/skupaj-za-vkljucevanje/delavnica-zakaj-znati-slovensko/index.html b/skupaj-za-vkljucevanje/delavnica-zakaj-znati-slovensko/index.html index d689ec0..227e959 100644 --- a/skupaj-za-vkljucevanje/delavnica-zakaj-znati-slovensko/index.html +++ b/skupaj-za-vkljucevanje/delavnica-zakaj-znati-slovensko/index.html @@ -107,7 +107,7 @@ Kdo sem - Kontakt + Kontakt Pogosta vprašanja Cene in reference diff --git a/skupaj-za-vkljucevanje/medkulturno-posredovanje/index.html b/skupaj-za-vkljucevanje/medkulturno-posredovanje/index.html index fce1906..d63a9e9 100644 --- a/skupaj-za-vkljucevanje/medkulturno-posredovanje/index.html +++ b/skupaj-za-vkljucevanje/medkulturno-posredovanje/index.html @@ -107,7 +107,7 @@ Kdo sem - Kontakt + Kontakt Pogosta vprašanja Cene in reference