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; } } });