diff --git a/js/function.js b/js/function.js index c2d3c36..f2a13bd 100644 --- a/js/function.js +++ b/js/function.js @@ -11,20 +11,30 @@ /* Sticky Header */ if($('.active-sticky-header').length){ - $window.on('resize', function(){ - setHeaderHeight(); - }); + var $headerSticky = $('header .header-sticky'); + var $headerMain = $("header.main-header"); + var cachedHeight = 0; function setHeaderHeight(){ - $("header.main-header").css("height", $('header .header-sticky').outerHeight()); + cachedHeight = $headerSticky.outerHeight(); + $headerMain.css("height", cachedHeight); } - - $window.on("scroll", function() { - var fromTop = $(window).scrollTop(); + + $window.on('load resize', function(){ setHeaderHeight(); - var headerHeight = $('header .header-sticky').outerHeight() - $("header .header-sticky").toggleClass("hide", (fromTop > headerHeight + 100)); - $("header .header-sticky").toggleClass("active", (fromTop > 600)); + }); + + var ticking = false; + $window.on("scroll", function() { + if (!ticking) { + window.requestAnimationFrame(function() { + var fromTop = $window.scrollTop(); + $headerSticky.toggleClass("hide", (fromTop > cachedHeight + 100)); + $headerSticky.toggleClass("active", (fromTop > 600)); + ticking = false; + }); + ticking = true; + } }); }