HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/blijegasten/blijegasten.be/resources/js/site/components/headerHoverHandler.js
/* ==========================================================================
   Navigation handler
   - Handles the showing and hiding of the overlay-menu component which has the proper classes.
 ========================================================================== */

const HeaderHoverHandler = {
    header: document.querySelector('.js-header'),
    timeout: null,
    delay: 150,

    init: function () {
        const headerHoverTrigger = document.querySelector('.js-header-hover');

        if(isset(headerHoverTrigger)){
            HeaderHoverHandler.initHeaderHover(headerHoverTrigger);
        }
    },

    initHeaderHover: function (headerHoverTrigger) {
        headerHoverTrigger.addEventListener('mouseenter', HeaderHoverHandler.setHeaderHover, false);
        headerHoverTrigger.addEventListener('mouseleave', HeaderHoverHandler.unsetHeaderHover, false);
    },

    setHeaderHover: function (event) {
        if(HeaderHoverHandler.timeout) {
            clearTimeout(HeaderHoverHandler.timeout);
        }
        HeaderHoverHandler.timeout = setTimeout(function () {
            HeaderHoverHandler.header.classList.add('is-header-light');
            HeaderHoverHandler.timeout = null;
        }, HeaderHoverHandler.delay);

    },

    unsetHeaderHover: function (event) {
        if(HeaderHoverHandler.timeout) {
            clearTimeout(HeaderHoverHandler.timeout);
            HeaderHoverHandler.timeout = null;
        } else {
            HeaderHoverHandler.header.classList.remove('is-header-light');
        }

    },
};

HeaderHoverHandler.init();