Files
hugo-blog/public/js/hide-navbar-on-scroll.b5f3414715b82a9bc2c9086fc860ad5d0a63f67251e4dd4fa61e9dfce91ebdb6.js
2025-08-21 09:42:37 +00:00

2 lines
737 B
JavaScript

(()=>{var t=document.getElementsByTagName("header")[0],f=document.querySelectorAll("header .pure-menu-children"),h=100,s=window.scrollY,o=!1,i=!1,d=t!==void 0?t.offsetHeight:0;function n(){isMouseNearTop||!o||i?t.classList.remove("hide"):t.classList.add("hide")}function a(e,u){let l=0;return function(...c){let r=Date.now();r-l>=u&&(l=r,e.apply(this,c))}}window.addEventListener("scroll",a(()=>{if(!t)return;let e=window.scrollY;Math.abs(e-s)<h||(e>s&&e>100?o=!0:o=!1,s=e,n())},50));window.addEventListener("resize",()=>{d=t.offsetHeight});window.addEventListener("mousemove",a(e=>{isMouseNearTop=e.clientY<=d,n()},50));for(let e of f)e.addEventListener("mousemove",()=>{i=!0,n()}),e.addEventListener("mouseleave",()=>{i=!1,n()});})();