(function() { 'use strict'; window.utils = window.utils || {}; window.utils.stickynav = function(nav) { var ticking = false; init(); function init() { nav.style.paddingLeft = document.body.getBoundingClientRect().width < 999 ? '90px' : ''; window.setTimeout(function() { nav.classList.add('navbar--animated'); }, 200); checkScroll(); addListener(); } // checks scroll direction and shows/hides navbar accordingly function checkScroll() { var sticky = window.scrollY > 0; nav.classList.toggle('navbar--sticky', sticky); ticking = false; } function addListener() { window.addEventListener('scroll', function(e) { if (!ticking) { window.requestAnimationFrame(checkScroll); ticking = true; } }, false); } window.addEventListener('resize', function() { nav.style.paddingLeft = document.body.getBoundingClientRect().width < 999 ? '90px' : ''; }, false); } })(); document.addEventListener('DOMContentLoaded', function() { utils.stickynav(document.querySelector('.js-sticky-navbar')); });