33 lines
1.3 KiB
TypeScript
33 lines
1.3 KiB
TypeScript
document.addEventListener("DOMContentLoaded", function () {
|
|
// * COLLAPSE INIT
|
|
const navBarCollapseDesktop = document.querySelectorAll(
|
|
"#main-nav .nav-collapse"
|
|
) as NodeListOf<HTMLDivElement>;
|
|
navBarCollapseDesktop.forEach(collapse => {
|
|
const bsCollapse = new window.bootstrap.Collapse(collapse, { toggle: false });
|
|
bsCollapse.hide();
|
|
const navLinkCollapse = document.querySelector("#main-nav .nav-link[href='#" + collapse.id + "']") as HTMLLinkElement;
|
|
navLinkCollapse.addEventListener("mouseover", () => {
|
|
bsCollapse.show();
|
|
});
|
|
navLinkCollapse.parentElement?.addEventListener("mouseleave", () => {
|
|
setTimeout(() => {
|
|
bsCollapse.hide();
|
|
}, 350);
|
|
});
|
|
});
|
|
|
|
// * COLLAPSE MOBILE
|
|
const navBarLinkMobile = document.querySelectorAll(
|
|
"#offcanvas-main-menu .nav-link"
|
|
) as NodeListOf<HTMLAnchorElement>;
|
|
navBarLinkMobile.forEach(anchor => {
|
|
anchor.classList.remove("collapsed");
|
|
});
|
|
const navBarCollapseMobile = document.querySelectorAll(
|
|
"#offcanvas-main-menu .nav-collapse"
|
|
) as NodeListOf<HTMLDivElement>;
|
|
navBarCollapseMobile.forEach(collapse => {
|
|
(new window.bootstrap.Collapse(collapse, { toggle: true })).show();
|
|
});
|
|
});
|