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>
|
||||||
</div>
|
</div>
|
||||||
<a href="/kdo-sem">Kdo sem</a>
|
<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="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||||
<a href="/cene-in-reference">Cene in reference</a>
|
<a href="/cene-in-reference">Cene in reference</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a href="/kdo-sem">Kdo sem</a>
|
<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="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||||
<a href="/cene-in-reference">Cene in reference</a>
|
<a href="/cene-in-reference">Cene in reference</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,8 @@ body.no-scroll {
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-links a:hover,
|
.nav-links a:hover,
|
||||||
.nav-links a.active {
|
.nav-links a.active,
|
||||||
|
.dropbtn.active {
|
||||||
color: var(--primary-color);
|
color: var(--primary-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a href="/kdo-sem">Kdo sem</a>
|
<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="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||||
<a href="/cene-in-reference">Cene in reference</a>
|
<a href="/cene-in-reference">Cene in reference</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a href="/kdo-sem">Kdo sem</a>
|
<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="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||||
<a href="/cene-in-reference">Cene in reference</a>
|
<a href="/cene-in-reference">Cene in reference</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a href="/kdo-sem">Kdo sem</a>
|
<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="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||||
<a href="/cene-in-reference">Cene in reference</a>
|
<a href="/cene-in-reference">Cene in reference</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
71
js/main.js
71
js/main.js
|
|
@ -6,6 +6,73 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||||
let closeMobileMenu = () => {};
|
let closeMobileMenu = () => {};
|
||||||
let resetMobileSubmenus = () => {};
|
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) {
|
if (mobileMenuBtn && navLinks) {
|
||||||
resetMobileSubmenus = () => {
|
resetMobileSubmenus = () => {
|
||||||
navLinks.querySelectorAll('.dropdown-content, .dropdown-submenu-content').forEach(submenu => {
|
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 => {
|
navLinks.querySelectorAll('.dropbtn, .dropdown-submenu > a').forEach(link => {
|
||||||
link.classList.remove('active');
|
link.classList.remove('active');
|
||||||
});
|
});
|
||||||
|
applyActiveNavState();
|
||||||
};
|
};
|
||||||
|
|
||||||
closeMobileMenu = () => {
|
closeMobileMenu = () => {
|
||||||
|
|
@ -37,6 +105,9 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// --- Active Navigation Highlight ---
|
||||||
|
applyActiveNavState();
|
||||||
|
|
||||||
// --- Mobile Dropdown Logic ---
|
// --- Mobile Dropdown Logic ---
|
||||||
// Logika za odpiranje podmenijev na klik na mobilnih napravah
|
// Logika za odpiranje podmenijev na klik na mobilnih napravah
|
||||||
const dropdowns = document.querySelectorAll('.nav-links .dropdown-submenu > a, .nav-links .dropdown > .dropbtn');
|
const dropdowns = document.querySelectorAll('.nav-links .dropdown-submenu > a, .nav-links .dropdown > .dropbtn');
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a href="/kdo-sem">Kdo sem</a>
|
<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="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||||
<a href="/cene-in-reference">Cene in reference</a>
|
<a href="/cene-in-reference">Cene in reference</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a href="/kdo-sem">Kdo sem</a>
|
<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="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||||
<a href="/cene-in-reference">Cene in reference</a>
|
<a href="/cene-in-reference">Cene in reference</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a href="/kdo-sem">Kdo sem</a>
|
<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="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||||
<a href="/cene-in-reference">Cene in reference</a>
|
<a href="/cene-in-reference">Cene in reference</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a href="/kdo-sem">Kdo sem</a>
|
<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="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||||
<a href="/cene-in-reference">Cene in reference</a>
|
<a href="/cene-in-reference">Cene in reference</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a href="/kdo-sem">Kdo sem</a>
|
<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="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||||
<a href="/cene-in-reference">Cene in reference</a>
|
<a href="/cene-in-reference">Cene in reference</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a href="/kdo-sem">Kdo sem</a>
|
<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="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||||
<a href="/cene-in-reference">Cene in reference</a>
|
<a href="/cene-in-reference">Cene in reference</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a href="/kdo-sem">Kdo sem</a>
|
<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="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||||
<a href="/cene-in-reference">Cene in reference</a>
|
<a href="/cene-in-reference">Cene in reference</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a href="/kdo-sem">Kdo sem</a>
|
<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="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||||
<a href="/cene-in-reference">Cene in reference</a>
|
<a href="/cene-in-reference">Cene in reference</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a href="/kdo-sem">Kdo sem</a>
|
<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="/pogosta-vprasanja">Pogosta vprašanja</a>
|
||||||
<a href="/cene-in-reference">Cene in reference</a>
|
<a href="/cene-in-reference">Cene in reference</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue