1 2 3const menu = document.querySelector(".menu-block"); 4const menuMain = menu.querySelector(".site-menu-main"); 5const submenuAll = menu.querySelectorAll(".sub-menu"); 6const goBack = menu.querySelector(".go-back"); 7const menuTrigger = document.querySelector(".mobile-menu-trigger"); 8const closeMenu = menu.querySelector(".mobile-menu-close"); 9let subMenu; 10let subMenuArray = []; 11let subMenuTextArray = []; 12 13function last(array) { 14 return array[array.length - 1]; 15} 16function last2(array) { 17 return array[array.length - 2]; 18} 19 20 21menuMain.addEventListener("click", (e) =>{ 22 23 if(!menu.classList.contains("active")){ 24 return; 25 } 26 if(e.target.closest(".nav-item-has-children")){ 27 const hasChildren = e.target.closest(".nav-item-has-children"); 28 29 showSubMenu(hasChildren); 30 } 31}); 32goBack.addEventListener("click",() =>{ 33 const lastItem = last(subMenuArray); 34 const lastItemText = last2(subMenuTextArray); 35 subMenuArray.pop(); 36 subMenuTextArray.pop(); 37 if(subMenuArray.length >= 0){ 38 document.getElementById(lastItem).style.animation = "slideRight 0.5s ease forwards"; 39 menu.querySelector(".current-menu-title").innerHTML = lastItemText; 40 setTimeout(() =>{ 41 document.getElementById(lastItem).classList.remove("active"); 42 },300); 43 } 44 if(subMenuArray.length == 0){ 45 menu.querySelector(".mobile-menu-head").classList.remove("active"); 46 } 47}) 48menuTrigger.addEventListener("click",() =>{ 49 toggleMenu(); 50}) 51closeMenu.addEventListener("click",() =>{ 52 toggleMenu(); 53}) 54document.querySelector(".menu-overlay").addEventListener("click",() =>{ 55 toggleMenu(); 56}) 57function toggleMenu(){ 58 menu.classList.toggle("active"); 59 document.querySelector(".menu-overlay").classList.toggle("active"); 60} 61function showSubMenu(hasChildren){ 62 for(let i = 0 ; submenuAll.length < i ; i++){ 63 submenuAll[i].classList.remove("active"); 64 } 65 subMenu = hasChildren.querySelector(".sub-menu"); 66 subMenuArray.push(subMenu.id); 67 subMenu.classList.add("active"); 68 subMenu.style.animation = "slideLeft 0.5s ease forwards"; 69 const menuTitle = hasChildren.querySelector(".drop-trigger").textContent; 70 subMenuTextArray.push(menuTitle); 71 72 menu.querySelector(".current-menu-title").innerHTML = menuTitle; 73 menu.querySelector(".mobile-menu-head").classList.add("active"); 74} 75window.onresize = function(){ 76 if(this.innerWidth >991){ 77 if(menu.classList.contains("active")){ 78 toggleMenu(); 79 } 80 81 } 82} 83
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.