1/** 2 * navigation.js 3 * 4 * Handles toggling the navigation menu for small screens. 5 */ 6( function() { 7 var nav = document.getElementById( 'site-navigation' ), button, menu; 8 if ( ! nav ) 9 return; 10 button = nav.getElementsByTagName( 'h3' )[0]; 11 menu = nav.getElementsByTagName( 'ul' )[0]; 12 if ( ! button ) 13 return; 14 15 // Hide button if menu is missing or empty. 16 if ( ! menu || ! menu.childNodes.length ) { 17 button.style.display = 'none'; 18 return; 19 } 20 21 button.onclick = function() { 22 if ( -1 == menu.className.indexOf( 'nav-menu' ) ) 23 menu.className = 'nav-menu'; 24 25 if ( -1 != button.className.indexOf( 'toggled-on' ) ) { 26 button.className = button.className.replace( ' toggled-on', '' ); 27 menu.className = menu.className.replace( ' toggled-on', '' ); 28 } else { 29 button.className += ' toggled-on'; 30 menu.className += ' toggled-on'; 31 } 32 }; 33} )(); 34 35document.addEventListener('DOMContentLoaded', function() { 36 var bodyClasses = document.getElementsByTagName('body')[0].className; 37 document.getElementById('responsiveMenuOpener').addEventListener('click', function(){ 38 document.getElementsByTagName('body')[0].className = bodyClasses + ' responsiveMenuOpen'; 39 }); 40 document.getElementById('menuOverlay').addEventListener('click', function(){ 41 document.getElementsByTagName('body')[0].className = bodyClasses; 42 }); 43 44 document.getElementById('return-top').addEventListener('click', function(){ 45 window.scrollToTop(200); 46 }); 47 48 window.addEventListener('scroll', function(){ 49 if (window.scrollY > 200){ 50 document.getElementById('return-top').style.opacity = 1; 51 } else { 52 document.getElementById('return-top').style.opacity = 0; 53 } 54 }); 55}); 56 57function scrollToTop(scrollDuration) { 58 var scrollStep = -window.scrollY / (scrollDuration / 15), 59 scrollInterval = setInterval(function(){ 60 if ( window.scrollY != 0 ) { 61 window.scrollBy( 0, scrollStep ); 62 } 63 else clearInterval(scrollInterval); 64 },15); 65} 66 67/* 68document.addEventListener('DOMContentLoaded', function(){ 69 var bodyClasses = document.getElementsByTagName('body')[0].className; 70 addClassResponsive(bodyClasses); 71 72 window.addEventListener('resize', function(){ 73 addClassResponsive(bodyClasses); 74 }); 75}); 76 77function addClassResponsive(bodyClasses){ 78 if(window.innerWidth <= 991){ 79 if(window.innerWidth <= 767){ 80 document.getElementsByTagName('body')[0].className = bodyClasses + ' mobile'; 81 } else { 82 document.getElementsByTagName('body')[0].className = bodyClasses + ' tablet'; 83 } 84 } 85}*/
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.