FlareForge
FlareForge
Product
Pricing
Log in
Start my free trial
Product
Pricing
Log in
Start my free trial
Page content begins here
/* ============================================================ FlareForge — header.js ============================================================ */ (function () { ‘use strict’; var header = document.getElementById(‘ff-header’); var burger = document.getElementById(‘ff-burger’); var mobileMenu = document.getElementById(‘ff-mobile-menu’); var mobileLinks = document.querySelectorAll(‘.ff-header__mobile-link’); /* Scroll state */ function onScroll() { if (window.scrollY > 10) { header.classList.add(‘ff-header–scrolled’); } else { header.classList.remove(‘ff-header–scrolled’); } } window.addEventListener(‘scroll’, onScroll, { passive: true }); onScroll(); /* Mobile menu */ function closeMenu() { burger.classList.remove(‘is-open’); mobileMenu.classList.remove(‘is-open’); burger.setAttribute(‘aria-expanded’, ‘false’); mobileMenu.setAttribute(‘aria-hidden’, ‘true’); document.body.style.overflow = ”; } function openMenu() { burger.classList.add(‘is-open’); mobileMenu.classList.add(‘is-open’); burger.setAttribute(‘aria-expanded’, ‘true’); mobileMenu.setAttribute(‘aria-hidden’, ‘false’); document.body.style.overflow = ‘hidden’; } burger.addEventListener(‘click’, function () { burger.classList.contains(‘is-open’) ? closeMenu() : openMenu(); }); mobileLinks.forEach(function (link) { link.addEventListener(‘click’, closeMenu); }); window.addEventListener(‘resize’, function () { if (window.innerWidth > 768) closeMenu(); }); document.addEventListener(‘keydown’, function (e) { if (e.key === ‘Escape’) closeMenu(); }); }());