前端开发教程:顶部导航栏下拉滚动隐藏菜单实现

0
(0)

要创建一个吸顶导航栏,并在用户向下滚动页面时隐藏导航栏,可以使用 HTMLCSSJavaScript 实现以下效果。

最近小编美化网站,挺喜欢顶部导航菜单下拉隐藏,上拉再显示的功能,下面小编讲解下具体怎么操作

演示图片

网站演示

HTML 结构

创建一个包含导航栏的 HTML 结构:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>吸顶导航栏</title>
  <link rel="stylesheet" href="styles.css">
</head>
<body>

  <!-- 导航栏 -->
  <div class="navbar" id="navbar">
    <a href="#home">首页</a>
    <a href="#about">关于我们</a>
    <a href="#services">服务</a>
    <a href="#contact">联系我们</a>
  </div>

  <!-- 内容 -->
  <div class="content">
    <h1>欢迎光临</h1>
    <p>滚动页面查看导航栏的隐藏效果。</p>
    <!-- 内容区模拟长页面 -->
    <div style="height: 2000px;"></div>
  </div>

  <script src="script.js"></script>
</body>
</html>

CSS 样式 (styles.css)

/* 基础样式 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* 导航栏样式 */
.navbar {
  position: fixed;
  top: 0;
  width: 100%;
  background-color: #333;
  overflow: hidden;
  color: #fff;
  display: flex;
  justify-content: space-around;
  padding: 1rem 0;
  transition: top 0.3s;
  z-index: 10;
}

.navbar a {
  color: white;
  text-decoration: none;
  padding: 0.5rem 1rem;
}

.navbar a:hover {
  background-color: #575757;
}

/* 内容样式 */
.content {
  padding-top: 60px;
  text-align: center;
}

JavaScript 实现隐藏效果 (script.js)

// 获取导航栏元素
const navbar = document.getElementById("navbar");

let prevScrollpos = window.pageYOffset; // 初始滚动位置

window.onscroll = function() {
  let currentScrollPos = window.pageYOffset;
  
  if (prevScrollpos > currentScrollPos) {
    // 用户向上滚动,显示导航栏
    navbar.style.top = "0";
  } else {
    // 用户向下滚动,隐藏导航栏
    navbar.style.top = "-60px"; // 隐藏到页面上方
  }
  
  // 更新前一滚动位置
  prevScrollpos = currentScrollPos;
}

这样,当用户向下滚动页面时,导航栏会自动隐藏,向上滚动时重新显示。

小编自用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>底部菜单导航</title>
</head>
<style>
body {
    height: 1200px;
    margin: 0;
    font-family: Arial, sans-serif;
}

.content {
    padding: 20px;
    text-align: center;
}

.footer {
    position: fixed;
    bottom: -100px; /* 默认隐藏菜单 */
    left: 0;
    width: 100%;
    background-color: #333;
    color: white;
    text-align: center;
    transition: bottom 0.3s ease;
}

.footer ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer ul li {
    display: inline-block;
    margin: 10px;
}

.footer ul li a {
    color: white;
    text-decoration: none;
    font-size: 16px;
}
</style>
<body>
    <div class="content">
        <h1>欢迎访问我的网站</h1>
        <p>请滚动页面以查看底部菜单。</p>
    </div>

    <div class="footer" id="footerMenu">
        <ul>
            <li><a href="#">首页</a></li>
            <li><a href="#">关于我们</a></li>
            <li><a href="#">服务</a></li>
            <li><a href="#">联系我们</a></li>
        </ul>
    </div>

    <script>
        const footer = document.getElementById('footerMenu');
        
        window.addEventListener('scroll', function() {
            if (window.scrollY > 100) {
                footer.style.bottom = '0';  // 显示底部菜单
            } else {
                footer.style.bottom = '-100px';  // 隐藏底部菜单
            }
        });
    </script>
</body>
</html>

共计0人评分,平均0

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

告诉我们如何改善这篇文章?

文章目录

文章标题:前端开发教程:顶部导航栏下拉滚动隐藏菜单实现
更新时间:2024年11月11日 15时59分01秒
文章链接:https://www.sokb.cn/soyi-4241.html
文章版权:易搜资源网所发布的内容,部分为原创文章,转载注明来源,网络转载文章如有侵权请联系我们!
(1)
上一篇 2024 年 11 月 11 日 下午3:30
下一篇 2024 年 11 月 11 日 下午4:16

相关推荐

  • 华为手机专业拍照技术教程:解锁摄影潜力,轻松拍出大片效果

    0 (0) 解锁华为手机拍照潜力,基础设置与技巧 在智能手机摄影领域,华为无疑是市场中的佼佼者。凭借强大的拍照硬件和先进的软件算法,华为手机的拍照效果可以媲美专业相机,成为了许多人日常拍照的首选。而在众多的拍照模式中,想要发挥华为手机的最大潜力,我们首先需要掌握一些基础的拍照设置和技巧。 1.开启专…

    2024 年 11 月 10 日
    10000
  • 网络域名挑选指南:打造优质资源网的关键一步

    1 (1) 一、域名挑选的重要性 域名对于资源网的重要性不言而喻。一个好的域名就如同资源网的名片,能够极大地提升网站形象。例如,采用与资源网主题相关的关键字作为域名的一部分,可以为网站起到极好的相关性效果,为资源网加分。好的域名能增加用户信任度。在当今互联网时代,用户面对众多的网站选择,一个简洁易记…

    2024 年 11 月 11 日
    12200
  • IT技术教程网——掌握前沿技术,成就职业新高峰

    0 (0) IT技术教程网,带你走在技术的前沿 IT技术教程网专注于为用户提供最新、最实用的IT技术教程,内容涵盖了从基础到进阶的各种技术领域,包括但不限于编程语言、操作系统、网络安全、大数据分析、人工智能等。平台通过专业的技术讲解和丰富的实例演示,帮助学员深入理解和掌握每一个技术点,助力职业生涯的…

    2024 年 11 月 11 日
    8200
  • centos8 系统怎么安装UPX及使用UPX压缩教程

    0 (0) UPX 是一个免费、安全、可移植、可扩展、高性能的可执行加壳器,适用于多种可执行格式。 UPX介绍 UPX是一种高级可执行文件压缩器。UPX 通常会 将程序和 DLL 的文件大小减少约 50%-70%,从而 减少磁盘空间、网络加载时间、下载时间 其他配送和储存成本。 由 UPX 压缩的程…

    2024 年 11 月 22 日
    7700
  • 前端开发教程:底部上拉菜单导航隐藏功能实现

    0 (0) 底部上拉菜单导航通常用于移动端网站,能够根据用户滚动或其他触发条件隐藏或显示。下面是实现这个功能的 HTML、CSS 和 JavaScript 代码。 功能实现 以下是一个简单的示例: 演示图片 网站演示 总结 底部上拉菜单通过使用 position: fixed 和 JavaScrip…

    2024 年 11 月 11 日
    9600

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

易搜资源网建设中。。。