滚动导航 - unique

news/2025/10/8 13:46:37/文章来源:https://www.cnblogs.com/unique-yaobo/p/19129545

 

下面是效果图

ezgif-8ca4526462c724

下面是实现代码

 

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8" /><title>滚动导航 Demo</title><style>body {margin: 0;font-family: sans-serif;scroll-behavior: smooth;/* 平滑滚动 */}/* 顶部导航栏 */.navbar {position: fixed;top: 0;left: 0;width: 100%;background: #fff;border-bottom: 1px solid #eee;display: flex;justify-content: center;gap: 20px;padding: 10px 0;z-index: 1000;}.navbar a {color: #555;text-decoration: none;padding: 6px 10px;border-radius: 4px;}.navbar a.active {color: #fff;background: #409eff;}/* 内容区 */section {height: 100vh;padding-top: 60px;/* 避免被导航栏遮挡 */box-sizing: border-box;}section:nth-child(odd) {background: #f6f6f6;}section:nth-child(even) {background: #e8f1ff;}</style>
</head><body><!-- 顶部导航栏 --><div class="navbar" id="navbar"><a href="#s1">首页</a><a href="#s2">功能</a><a href="#s3">关于</a></div><!-- 页面内容 --><section id="s1"><h2>首页</h2></section><section id="s2"><h2>功能介绍</h2></section><section id="s3"><h2>关于我们</h2></section><script>const links = document.querySelectorAll('.navbar a');const sections = Array.from(links).map(a => document.querySelector(a.getAttribute('href')));const observer = new IntersectionObserver((entries) => {entries.forEach(entry => {if (entry.isIntersecting) {links.forEach(link => link.classList.toggle('active', link.getAttribute('href').slice(1) === entry.target.id));}});}, { threshold: 0.6 }); // 进入视口 60% 时高亮
sections.forEach(s => observer.observe(s));</script>
</body></html>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/931563.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows剪切板工具

列表 不推荐 ditto 界面我不喜欢,作为一个前台交互软件,用户界面搞得这么小,图片都看不清。CrossPaste 还行,但是没有标签或者说分类。 也没有导出功能。 不知道为啥,窗口总是不置顶。 提供了多种类型,算是比较现…

C#基础:启用线程池执行并行任务

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

做字素的网站wordpress get option

从各方面来看&#xff0c;互联网向 IPv6 的过渡是件很缓慢的事情。不过在最近几年&#xff0c;可能是由于 IPv4 地址资源的枯竭&#xff0c;IPv6 的使用处于上升态势。相应的&#xff0c;开发者也有兴趣确保软件能在 IPv4 和 IPv6 下工作。但是&#xff0c;正如近期 OpenBSD 邮…

P1545 [USACO04DEC] Dividing the Path G 题解

P1545 [USACO04DEC] Dividing the Path G 题解 最近开始快刷蓝紫黑了,做完会写题解交上来。 题目传送门 题意 一条长为 \(L(1 \le L \le 10^6 , 2 | L)\) 的线段上,给出 \(N(1 \le N \le 10^3)\) 个可能相交的子段 \…

AJ-Report - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

视频采集程序

项目结构:VideoCaptureApp.pro QT += core gui multimedia multimediawidgetsgreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11win32 { LIBS += -L$$PWD/lib/SDL2/lib/x64 \-L$$PWD/lib/ffmpeg…

怎么做网站弄网盟wordpress qq微博

【客户行业】金属加工行业 【问题类型】薪酬体系/激励体系 【客户背景】 某大型金属加工企业位于河北地区&#xff0c;成立于2000年&#xff0c;隶属于某大型有色金属集团&#xff0c;是一家集科研、开发、生产、销售于一体的国有企业&#xff0c;人员达到1000人。经过多年…

50m专线做视频网站青羊区城乡建设网站

很多高手都喜欢使用“宏”命令来提高办公工作效率。但在 Microsoft Office 程序中使用宏时&#xff0c;总会弹出宏安全警告&#xff0c;这让使用者倍感麻烦。而如果把宏的安全级设置为“低”&#xff0c;就可以取消excel中宏安全提示框了&#xff0c;又增加了恶意代码和病毒攻击…

关于PPT的课后作业

动手动脑问题应用的是方法重载。 课后作业代码: import java.util.*; public class ArithmeticExam { private static final Random random = new Random(); private static final Scanner scanner = new Scanner(Sys…

学校网站源码html高端网站建设的品牌

I:ASP.NET MVC3 部署的前期工作 1.确认部署的服务器操作系统环境 首先我们确认服务器的操作系统版本可以从系统命令行工具里输入: systeminfo 获取相关操作系统信息例如然后再确认IIS版本信息 -> 打开IIS管理工具即可接着确认.NET Framework的版本可以在系统命令行工具执行:…

引擎搜索网站模板化学sem是什么意思

课程简介 现在还能做解说吗、不会写解说文案怎么解决、不会配音怎么解决、如何找到合适的素材资源、如何变现…这是很多想做解说的伙伴最关心的几大问题。比如文案&#xff0c;我们推荐一个网站&#xff0c;10分钟搞定一篇文案&#xff0c;配音可以真人配音也可以软件配音。5.…

RK 系列 GPU 驱动检查方法

问题背景 在调试一块板卡时发现 GPU 驱动存在异常。当时通过 GST 播放视频,想查看 GPU 占用率,却发现按照 RK 系列通常的查询方法无法获取(设备节点不存在),由此怀疑 GPU 驱动未正常加载。 检查方法 方法一:查看…

Day-15【选择与循环】选择结构-if语句 - 实践

Day-15【选择与循环】选择结构-if语句 - 实践2025-10-08 13:27 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: b…

做义工旅行有哪些网站wordpress验证码

Oracle提示错误消息ORA-28001: the password has expired&#xff0c;是由于Oracle11G的新特性所致&#xff0c; Oracle11G创建用户时缺省密码过期限制是180天&#xff08;即6个月&#xff09;&#xff0c; 如果超过180天用户密码未做修改则该用户无法登录。 Oracle公司是为了数…

咕乡

一篇模仿《王安遂》的拙作,以此纪念我初中的 OI 生涯。[1]我冒了严寒,回到相隔二千馀题,别了二十馀天的 OJ 去。 时候既然是初三;渐近 OJ 时,网络又崩溃了,404 吹进浏览器中,呜呜的响,从主页向外一望,泛白的 …

在东莞做网站广告专业的前景和就业方向

01为什么用 JavaScript 来开发桌面应用&#xff1f;曾经的 JavaScript 脆弱、简陋、甚至有被边缘化的危险&#xff0c;不过 JavaScript 在经过了两次飞跃后&#xff08;以 V8 为首的 JavaScript 引擎和 Node.js 的问世&#xff09;&#xff0c;不再受人欺负&#xff0c;早已升级…

opencv应用经典bug

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Linux随记(十八) - 详解

Linux随记(十八) - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &…

通信算法之281:大疆DJI无人机ID-DJI DroneID开源工程-相关问题-协议信息问题 - 实践

通信算法之281:大疆DJI无人机ID-DJI DroneID开源工程-相关问题-协议信息问题 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; f…

手机网站适应屏幕罗湖网站(建设深圳信科)

目录 1、一致性算法 1.1、什么是分布式系统的副本一致性?有哪些? 1.2、在分布式系统中有哪些常见的一致性算法?