发布于 2026-01-06 4 阅读
0

向下滚动时隐藏导航栏,只需不到 10 行 JavaScript 代码;DEV 全球展示挑战赛,由 Mux 呈现:展示你的项目!

用不到 10 行 JavaScript 代码,在向下滚动时隐藏导航栏;

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

请我喝杯咖啡

你肯定在一些网站上见过这种效果,当你向下滚动页面时,导航栏会自动隐藏,向上滚动页面时导航栏会自动重新出现。

这是我用 10 行 JavaScript 代码实现的基本页面。


 lastScrollTop;
navbar = document.getElementById('navbar');
window.addEventListener('scroll',function(){
  var scrollTop = window.pageYOffset || document.documentElement.scrollTop;
  if(scrollTop > lastScrollTop){
    navbar.style.top='-80px';
  }
  else{
    navbar.style.top='0';
  }
  lastScrollTop = scrollTop;
});

Enter fullscreen mode Exit fullscreen mode

它的工作原理

这里使用 JavaScript 来改变导航栏的位置。

首先,我们创建一个变量来存储页面的位置;

然后我们使用以下方法获取滚动位置:window.pageYOffset或者对于某些浏览器,使用“document.documentElement.scrollTop”;

然后检查页面是向上滚动还是向下滚动;

然后将滚动值保存到变量中;

每次滚动页面时都会执行此操作,因为所有这些都位于一个EventListener.

查看 CodePen 上的 JS 代码,会更清楚。


也请看看我的其他帖子。

关注我获取更多信息

文章来源:https://dev.to/areeburrub/hide-navbar-as-scroll-down-in-less-than-10-lines-of-javascript-1i00