JavaScript实现导航栏吸顶效果详解
作者:竹影时间:2026-10-23 14:15:29浏览:143
本文介绍如何利用JavaScript结合scroll与offset系列属性,实现导航栏在页面滚动至特定位置时的吸顶效果。通过监听滚动事件,判断导航元素距离顶部的偏移量与屏幕卷去高度的关系,动态添加或移除固定定位类名,从而完成导航栏的吸附固定功能。
JavaScript实现导航栏吸顶效果详解
本文分享了一段使用JavaScript实现导航栏吸顶特效的完整代码示例,供读者参考学习。
核心知识点
核心知识点
1. scroll家族和offset家族的结合运用 2. 当nav的offsetTop大于屏幕卷去高度的时候,进行吸顶 3. 添加一个固定类,如果满足条件,为nav加类名
运行效果演示
运行效果演示

在页面滚动过程中,导航栏会在到达指定位置后自动吸附在窗口顶部。

代码实现部分
代码实现部分
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
*{margin: 0;padding: 0;list-style: none;border:none}
img{vertical-align: top;width: 100%;}
section{width: 70%;margin: 0 auto;}
.nav{position: fixed;left: 0;top: 0;width: 100%}
</style>
</head>
<body>
<header id="head">
<img src="images/top.png" alt="">
</header>
<nav id="nav">
<img src="images/nav.png" alt="">
</nav>
<section>
<img src="images/body01.png" alt="">
<img src="images/body02.png" alt="">
</section>
<script src="../../MyTools/MyTools.js"></script>
<script>
window.addEventListener('load',function (ev) {
// 1. 求出头部高度
var navTopHeight = myTool.$('nav').offsetTop;
// 2. 监听页面滚动
window.addEventListener('scroll',function (ev1) {
var scrollTopHeight = myTool.scroll().top;
// 2.1 判断
if(scrollTopHeight >= navTopHeight){
myTool.addClassName(myTool.$('nav'),'nav')
}else{
myTool.removeClassName(myTool.$('nav'),'nav');
}
})
})
</script>
</body>
</html>
以上内容为本文的全部分享,希望能为读者的学习提供一定帮助,同时也欢迎大家继续支持本站。
作者最新文章
网页开发三者分工:HTML结构、CSS样式与JavaScript交互怎么协作
2026-11-05 12:51:22
JS解析URL参数时怎么处理中文乱码和特殊字符
2026-11-05 12:47:23
js-cookie 存储 JSON 对象:自动序列化与反序列化技巧
2026-11-05 12:36:26
marked.js 快速上手:安装与基础 Markdown 转 HTML 示例
2026-11-05 09:32:53
Phaser.js 与 PixiJS、Cocos Creator 的技术选型对比
2026-11-05 08:36:30
