Skip to main content

Menu Barrierefrei

let subnav = document.querySelectorAll(this.config.elementsNav + ">ul>li");

    subnav.forEach(element => {
        element.addEventListener("mouseenter", (e) => {
            let chnav = element.querySelector("ul");
            if(chnav != null){
                chnav.style.height = chnav.clientHeight + "px";
            }
        })
        element.addEventListener("mouseleave", (e) => {
            let chnav = element.querySelector("ul");
            if(chnav != null){
                chnav.style.height = "";
            }
        })

        element.addEventListener("focusin", (e) => {
            let chnav = element.querySelector("ul");
            if(chnav != null){
                chnav.style.height = chnav.scrollHeight + "px";
            }
        })

        element.addEventListener("focusout", (e) => {
            if(e.relatedTarget != null){
                if(e.relatedTarget.classList != null){
                    if(e.relatedTarget.classList.value == "" || e.relatedTarget.classList.value == "ionav-btn"){
                        let cor = e.relatedTarget.getBoundingClientRect();
                        this.toggleOverlay();
                    }
                }
                
                if(e.relatedTarget != null){
                    if(e.relatedTarget.parentElement.classList.value != "ionav--children"){
                        if(e.relatedTarget.parentElement.previousSibling != null){
                            if(e.relatedTarget.parentElement.previousSibling.lastChild != null){
                                e.relatedTarget.parentElement.previousSibling.lastChild.style.height = "";
                            }
                        }
                        if(e.relatedTarget.parentElement.nextSibling != null){
                            if(e.relatedTarget.parentElement.nextSibling.lastChild != null){
                                e.relatedTarget.parentElement.nextSibling.lastChild.style.height = "";
                            }
                        }
                        if(e.relatedTarget.previousSibling != null){
                            e.relatedTarget.previousSibling.lastChild.style.height = "";
                        }
                        if(e.relatedTarget.nextSibling != null){
                            if(e.relatedTarget.nextSibling.lastChild != null){
                                e.relatedTarget.nextSibling.lastChild.style.height = "";
                            }
                        }
                    }   
                }
            }
        })
    });

    let bb = document.querySelector(".ionav-btn");
    bb.tabIndex = 1;
    bb.addEventListener("keypress", (e) => {
        if(e.key === "Enter"){
            this.toggleOverlay();
        }
    });