PageSourceSearch

https://www.peter-meyer-schule.de/wp-content/themes/schule_a/scrip…/mmenujs/helpJs.mmenujs.js?ver=7.1.2

js peter-meyer-schule.de collected 2026-10-06 12:30:15 UTC 4,636 bytes, 141 lines download raw bytes

1
2document.addEventListener("DOMContentLoaded", function() {
3    new Mmenu( "#mmenujs", {
4        "counters": false,
5        navbars: [
6            {
7                position: "top",
8                content: ["prev", "title"]
9            }
10        ],
11        setSelected: {
12            "current": "detect"
13        },
14        screenReader : {
15            aria: true
16        },
17        keyboardNavigation : {
18            enable: false,
19            /*enhance: true*/
20        },
21        autoHeight:{
22            height: "default"
23        },
24        offCanvas: false,
25    },{
26        language: "de",
27        offCanvas: {
28            menu : {
29                insertSelector : "#oC-nav"
30            },
31        }
32    });
33    let $menujs = document.getElementById("mmenujs");
34    let $allButtons = $menujs.querySelectorAll(".mm-btn_prev");
35    $allButtons.forEach(function (elem) {
36        let ariaOwnsId = elem.getAttribute("aria-owns");
37        let backButtonLabel =  "zurück";
38
39        if(ariaOwnsId != null) {
40            let parantElTitle = $menujs.querySelector("#"+ ariaOwnsId +" .mm-navbar__title");
41            backButtonLabel = parantElTitle.textContent;
42        }
43
44        let spanEl = document.createElement("span");
45        spanEl.classList.add("btn-label");
46
47        let spanText = document.createTextNode(backButtonLabel);
48
49        spanEl.appendChild(spanText);
50        elem.appendChild(spanEl);
51    });
52
53    //Fix a-Tag => span-Tag
54    let $allTitleTags = $menujs.querySelectorAll(".mm-navbar__title" );
55    $allTitleTags.forEach(function (elem) {
56        let src = elem;
57        let el = document.createElement('span');
58        let attrs = src.attributes;
59
60        for(var j=0,k=attrs.length;j<k;j++) {
61            el.setAttribute(attrs[j].name, attrs[j].value);
62        }
63        el.innerHTML = src.innerHTML;
64        src.parentNode.replaceChild(el, src);
65    });
66
67    let $allAnchorLinks = $menujs.querySelectorAll(".mm-listitem__text" );
68    $allAnchorLinks.forEach(function (elem) {
69        let spanEl = document.createElement("span");
70        spanEl.classList.add("btn-label");
71
72        elem.childNodes.forEach(function (el) {
73            if(el.nodeType === 3){
74                let spanEl = document.createElement("span");
75                spanEl.classList.add("btn-label");
76                spanEl.appendChild(document.createTextNode(el.nodeValue));
77
78                el.replaceWith(spanEl);
79            }
80        });
81    });
82
83    let textnode = document.createTextNode("Menü");
84    let firstNavBarTitle = $menujs.querySelector(".mm-navbars_top .mm-navbar__title");
85    firstNavBarTitle.replaceChild(textnode, firstNavBarTitle.childNodes[0]);
86
87    document.addEventListener( 'help-ESC-Keyup', function(e) {
88        let $triggerId = document.getElementById("oC-trigger");
89
90        if($triggerId && ($triggerId.checked === true)) {
91            let changeEvent = new Event('change');
92
93            $triggerId.checked = false;
94            $triggerId.dispatchEvent(changeEvent);
95        }
96    });
97
98    document.addEventListener( 'help-Enter-Keyup', function(e) {
99        let $triggerId = document.getElementById("oC-trigger");
100        let $originalTargetId = document.getElementById(e.target.activeElement.id);
101
102        if($originalTargetId === $triggerId) {
103            let changeEvent = new Event('change');
104
105            $triggerId.checked = !$triggerId.checked;
106            $triggerId.dispatchEvent(changeEvent);
107        }
108    });
109
110    window.addEventListener( 'resize', function(e) {
111        let $oCbodyTrigger = document.querySelectorAll(".oC-bodyTrigger");
112        let $offCanvasTrigger = document.getElementById("oC-trigger");
113
114        if($oCbodyTrigger.length > 0) {
115            if (($oCbodyTrigger[0].style.display === "none") && ($offCanvasTrigger.checked)) {
116                document.body.classList.remove('overlayIsVisible');
117            } else if ($offCanvasTrigger.checked) {
118                document.body.classList.add('overlayIsVisible');
119            }
120        }
121    });
122
123    let $triggerId = document.getElementById("oC-trigger");
124    $triggerId.addEventListener('change', function(e) {
125        let $oCcontent = document.querySelector('.oC-contentArea');
126
127        if (this.checked) {
128            document.body.classList.add('overlayIsVisible');
129
130            oneTimeEvent($oCcontent, 'webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function () {
131                $oCcontent.classList.add('overflow-y');
132            });
133
134        } else {
135            document.body.classList.remove('overlayIsVisible');
136            $oCcontent.classList.remove('overflow-y');
137        }
138    });
139
140});
141

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.