garagehq.deuxfleurs.fr/templates/partials/doc/global_toc_script.html

37 lines
No EOL
1.3 KiB
HTML

<script>
// Global ToC
/*
- Deploy current submenu (if any) and reploy others.
- Fixed ToC when user scrolls.
*/
document.addEventListener("DOMContentLoaded", function() {
var menusTriggers = document.getElementsByClassName("deploySubMenu");
var activeDocPage = document.getElementsByClassName("activePage")[0];
for (var i = 0; i < menusTriggers.length; i++) {
menusTriggers[i].checked = true;
}
let parentMenu = activeDocPage.parentElement.parentElement;
// Check if current page is the parent submenu page or just a child
if (parentMenu.classList.contains('subMenu')) { // child
parentMenu.previousElementSibling.previousElementSibling.checked = false;
} else { // parent
if (activeDocPage.nextElementSibling) {
activeDocPage.nextElementSibling.checked = false;
}
}
});
window.addEventListener('scroll', function() {
if (document.body.clientWidth >= 1280) {
if (window.scrollY >= menuBarHeight) {
document.getElementById('main-toc-menu').classList.add('fixed', 'top-0', 'left-0');
document.getElementById('main-toc-menu').style.width = mainTocMenuWidth + 'px';
} else {
document.getElementById('main-toc-menu').classList.remove('fixed', 'top-0', 'left-0');
}
} else {
}
});
</script>