Update site content
Deploy to Development and Production / deploy (push) Successful in 7s
Details
Deploy to Development and Production / deploy (push) Successful in 7s
Details
This commit is contained in:
parent
d55bd48ff7
commit
46f192be1f
|
|
@ -107,7 +107,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<a href="/kdo-sem">Kdo sem</a>
|
||||
<a href="/kontakt" class="active">Kontakt</a>
|
||||
<a href="/kontakt">Kontakt</a>
|
||||
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||
<a href="/cene-in-reference">Cene in reference</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<a href="/kdo-sem">Kdo sem</a>
|
||||
<a href="/kontakt" class="active">Kontakt</a>
|
||||
<a href="/kontakt">Kontakt</a>
|
||||
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||
<a href="/cene-in-reference">Cene in reference</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<a href="/kdo-sem">Kdo sem</a>
|
||||
<a href="/kontakt" class="active">Kontakt</a>
|
||||
<a href="/kontakt">Kontakt</a>
|
||||
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||
<a href="/cene-in-reference">Cene in reference</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<a href="/kdo-sem">Kdo sem</a>
|
||||
<a href="/kontakt" class="active">Kontakt</a>
|
||||
<a href="/kontakt">Kontakt</a>
|
||||
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||
<a href="/cene-in-reference">Cene in reference</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<a href="/kdo-sem">Kdo sem</a>
|
||||
<a href="/kontakt" class="active">Kontakt</a>
|
||||
<a href="/kontakt">Kontakt</a>
|
||||
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||
<a href="/cene-in-reference">Cene in reference</a>
|
||||
</div>
|
||||
|
|
|
|||
71
js/main.js
71
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');
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<a href="/kdo-sem">Kdo sem</a>
|
||||
<a href="/kontakt" class="active">Kontakt</a>
|
||||
<a href="/kontakt">Kontakt</a>
|
||||
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||
<a href="/cene-in-reference">Cene in reference</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<a href="/kdo-sem">Kdo sem</a>
|
||||
<a href="/kontakt" class="active">Kontakt</a>
|
||||
<a href="/kontakt">Kontakt</a>
|
||||
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||
<a href="/cene-in-reference">Cene in reference</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<a href="/kdo-sem">Kdo sem</a>
|
||||
<a href="/kontakt" class="active">Kontakt</a>
|
||||
<a href="/kontakt">Kontakt</a>
|
||||
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||
<a href="/cene-in-reference">Cene in reference</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<a href="/kdo-sem">Kdo sem</a>
|
||||
<a href="/kontakt" class="active">Kontakt</a>
|
||||
<a href="/kontakt">Kontakt</a>
|
||||
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||
<a href="/cene-in-reference">Cene in reference</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<a href="/kdo-sem">Kdo sem</a>
|
||||
<a href="/kontakt" class="active">Kontakt</a>
|
||||
<a href="/kontakt">Kontakt</a>
|
||||
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||
<a href="/cene-in-reference">Cene in reference</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<a href="/kdo-sem">Kdo sem</a>
|
||||
<a href="/kontakt" class="active">Kontakt</a>
|
||||
<a href="/kontakt">Kontakt</a>
|
||||
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||
<a href="/cene-in-reference">Cene in reference</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<a href="/kdo-sem">Kdo sem</a>
|
||||
<a href="/kontakt" class="active">Kontakt</a>
|
||||
<a href="/kontakt">Kontakt</a>
|
||||
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||
<a href="/cene-in-reference">Cene in reference</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<a href="/kdo-sem">Kdo sem</a>
|
||||
<a href="/kontakt" class="active">Kontakt</a>
|
||||
<a href="/kontakt">Kontakt</a>
|
||||
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||
<a href="/cene-in-reference">Cene in reference</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<a href="/kdo-sem">Kdo sem</a>
|
||||
<a href="/kontakt" class="active">Kontakt</a>
|
||||
<a href="/kontakt">Kontakt</a>
|
||||
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||
<a href="/cene-in-reference">Cene in reference</a>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue