JS简易实现导航栏滑到顶部固定

[复制链接]
田野 发表于 2021-3-13 16:53:23 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
适用场景如下图所示:
114738fdckksai4srsn2ii.png
适用于导航栏顶部有滑动时需要隐藏的内容。

实现思路:利用position:fix 的css属性能够实现元素固定在屏幕的某一位置,配合 top:0px;可实现将导航栏固定在顶部。

故,可通过JS监听屏幕的滚动,当导航栏滚动到屏幕顶部时,修改导航栏的position属性。

简易DEMO代码如下:





  1. 这是顶部

  2. 这是导航栏

  3. 这是内容















































复制代码
要注意的是,如果只修改导航栏的positon值,导航栏固定在顶端的同时,内容部分会向上跳一段距离,原因是当元素的position为fix时,会脱离原本的文档流,下面的元素会向上填充它原来占据的空间。

为了页面的平滑移动,避免出现内容被覆盖的情况,可以在修改导航栏position属性的同时,为下面的内容元素加上高度为导航栏高度的上边距。当然,方法也不唯一,可以根据情况采用不同方法,实现页面的平滑滑动。

不会发动图,大家想看效果的话可以将上面的代码复制到html文档中,浏览器查看即可。
一旦立下目标,不达目标绝不罢手,方可成功。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝0

帖子194

发布主题
东方财富机构监控和散户监控指标
流水线图形量化交易系统

微信二维码

扫一扫Get更多资讯

Powered by 最美乡村! © 婺源旅游 | ( 赣ICP备19013634号 )|网站地图| 赣公网安备 36113002000140号i> | 👀 | 👦 | 📄

GMT+8, 2025-2-6 00:05 , Processed in 0.042224 second(s), 37 queries .