Move documentation
This commit is contained in:
56
documentation/frontend/js/menu.js
Normal file
56
documentation/frontend/js/menu.js
Normal file
@@ -0,0 +1,56 @@
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
var menuCollapsed = false,
|
||||
mobileMenu = document.getElementById('mobile-menu');
|
||||
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);
|
||||
} else {
|
||||
element.addClass(faAngleUpClass);
|
||||
element.removeClass(faAngleDownClass);
|
||||
}
|
||||
};
|
||||
|
||||
for (var i = 0; i < classnameMenuToggler.length; i++) {
|
||||
classnameMenuToggler[i].addEventListener('click', toggleItemMenu, false);
|
||||
}
|
||||
|
||||
// Scroll to active link
|
||||
var menus = document.querySelectorAll('.menu'),
|
||||
i = 0,
|
||||
len = menus.length,
|
||||
activeMenu,
|
||||
activeMenuClass,
|
||||
activeLink;
|
||||
|
||||
for (i; i<len; i++) {
|
||||
if (getComputedStyle(menus[i]).display != 'none') {
|
||||
activeMenu = menus[i];
|
||||
activeMenuClass = activeMenu.getAttribute('class').split(' ')[0];
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
});
|
Reference in New Issue
Block a user