你可能会说
页面太长了,能不能加个「回到顶部」按钮,滚动超过一屏才显示。
滚动是用户在超出视口的长页面中上下/左右移动查看内容的交互行为。
页面内容超出屏幕时,用滚轮/滑动查看下方内容的行为。很多效果(如导航栏变色、懒加载)都监听滚动位置来触发。
生活类比
像看长卷轴画——画比桌子长,你得慢慢卷着看。滚动条就是你的进度。
🎮 动手试试
👇 在下方区域滚动,观察进度条和回到顶部按钮
关于「滚动」,以下哪个描述最准确?
你可以这样告诉 AI
帮我实现:滚动超过 300px 显示「回到顶部」按钮(淡入),点击平滑滚动到顶部;滚动时导航栏加阴影。
滚动是连续浏览(无限延伸),翻页是离散跳转(第1页→第2页)。Feed 流用滚动,搜索结果用翻页。
普通滚动渲染所有 DOM,虚拟滚动只渲染视口内的元素(万级列表必备)。
长页面交互效果
滚动时导航栏吸顶变色、回到顶部按钮显隐、滚动触发动画,都依赖监听滚动位置实现。
和 AI 协作时
想让 AI 加滚动效果时,直接说「滚动超过 300px 显示回到顶部按钮,滚动时导航栏加个阴影」。
固定首屏页面
一个屏幕就展示完所有内容的落地页(如一屏展示 + CTA 按钮),不需要滚动相关逻辑。
与 DOM 无关的项目
做 Node.js 脚本、命令行工具、数据处理时没有页面滚动概念。
页面内容超出屏幕时,用滚轮/滑动查看下方内容的行为。很多效果(如导航栏变色、懒加载)都监听滚动位置来
像看长卷轴画——画比桌子长,你得慢慢卷着看。滚动条就是你的进度。
和 AI 沟通时提到「滚动到某个位置时显示动画」,就是在监听滚动事件。