TelegramAktienBot/documentation/frontend/js/menu.js

57 lines
2.0 KiB
JavaScript
Raw Normal View History

2022-05-10 11:03:10 +00:00
document.addEventListener('DOMContentLoaded', function() {
2022-05-03 08:59:36 +00:00
var menuCollapsed = false,
mobileMenu = document.getElementById('mobile-menu');
2022-05-10 11:03:10 +00:00
document.getElementById('btn-menu').addEventListener('click', function() {
if (menuCollapsed) {
mobileMenu.style.display = 'none';
} else {
mobileMenu.style.display = 'block';
document.getElementsByTagName('body')[0].style['overflow-y'] = 'hidden';
}
menuCollapsed = !menuCollapsed;
});
// collapse menu
var classnameMenuToggler = document.getElementsByClassName('menu-toggler'),
faAngleUpClass = 'fa-angle-up',
faAngleDownClass = 'fa-angle-down',
toggleItemMenu = function(e) {
e.preventDefault();
var element = $(e.target);
if (element.hasClass(faAngleUpClass)) {
element.addClass(faAngleDownClass);
element.removeClass(faAngleUpClass);
2022-05-03 08:59:36 +00:00
} else {
2022-05-10 11:03:10 +00:00
element.addClass(faAngleUpClass);
element.removeClass(faAngleDownClass);
2022-05-03 08:59:36 +00:00
}
2022-05-10 11:03:10 +00:00
};
2022-05-03 08:59:36 +00:00
2022-05-10 11:03:10 +00:00
for (var i = 0; i < classnameMenuToggler.length; i++) {
classnameMenuToggler[i].addEventListener('click', toggleItemMenu, false);
}
2022-05-03 08:59:36 +00:00
2022-05-10 11:03:10 +00:00
// Scroll to active link
var menus = document.querySelectorAll('.menu'),
i = 0,
len = menus.length,
activeMenu,
activeMenuClass,
activeLink;
2022-05-03 08:59:36 +00:00
2022-05-10 11:03:10 +00:00
for (i; i<len; i++) {
if (getComputedStyle(menus[i]).display != 'none') {
activeMenu = menus[i];
activeMenuClass = activeMenu.getAttribute('class').split(' ')[0];
2022-05-03 08:59:36 +00:00
}
2022-05-10 11:03:10 +00:00
}
2022-05-03 08:59:36 +00:00
2022-05-10 11:03:10 +00:00
if (activeMenu) {
activeLink = document.querySelector('.' + activeMenuClass + ' .active');
activeMenu.scrollTop = activeLink.offsetTop;
if (activeLink.innerHTML.toLowerCase().indexOf('readme') != -1 || activeLink.innerHTML.toLowerCase().indexOf('overview') != -1) {
activeMenu.scrollTop = 0;
2022-05-03 08:59:36 +00:00
}
2022-05-10 11:03:10 +00:00
}
2022-05-03 08:59:36 +00:00
});