PageSourceSearch

https://hlpsbhs.org/front/js/SchoolCMS.Web.menu.0ouewkxpcb.js

js hlpsbhs.org collected 2026-10-06 09:06:43 UTC 2,597 bytes, 83 lines download raw bytes

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.