当前位置: 首页 > article >正文

【H5】关于react移动端H5的滚动吸顶方案实践总结

方案一

采用position: sticky;的形式,其利用浏览器提供的api,实现原理是在吸顶时修改定位为fixed,反之则修改为releative

缺陷:此种方案一旦父元素滚动出可视区域,就会导致吸顶失效,滚动时会跟着父容器滚动出去(因此,仅适用于部分简单的吸顶场景)

方案二

采用NPM包去实现滚动吸顶效果,为此我实践了3种滚动三方包,分别是以下三种:

"react-sticky-box": "^2.0.5", // 可以实现滚动吸顶,但是过渡效果太突兀,突然就闪出来的那种,没有感觉顺滑,因此放弃
"react-sticky-el": "^2.1.1", // 这种我简单试了下,和position: sticky;基本一致,缺陷也是会导致滚动出去,但是没有深入去实践API,暂定为放弃的方案

"react-stickynode": "^4.1.1", // 经过实践,此种方案可以实现吸顶,使用方式便捷,且过渡较为顺滑,因此该方案被采用

方案三

自行通过js去实现,通过获取容器元素,监听滚动的时机,进行定位position值的修改,这类网上的方案很多,就不过多赘述,但需要注意的是,需要区分上滚动和下滚动的过渡效果(注意,并不是指上吸顶和下吸顶),并同时做处理,才能做到流畅顺滑。


http://www.kler.cn/news/355112.html

相关文章:

  • java--网络编程
  • 【动手学深度学习】7.5 批量规范化(个人向笔记)
  • SSM框架学习(六、快速启动框架:SpringBoot3实战)
  • html 实现返回顶部动画
  • 论文阅读(十六):Deep Residual Learning for Image Recognition
  • Transformer图解以及相关的概念
  • Redis 一初识安装
  • 【机器学习基础】nn.Dropout的用法
  • ES6 Promise的用法
  • Ubuntu配置防火墙
  • ruoyi框架连接mysql+sqlserver
  • QT QML 练习8-Simple Transformations
  • MongoDB 死锁 锁定问题
  • 【C++】unordered_set、unordered_map超详细封装过程,处理底层细节
  • 算法笔记 C/C++快速入门 | 全章节整理
  • 『Mysql集群』Mysql高可用集群之主从复制 (一)
  • 【Java基础】常用类方法记录
  • Python 使用 Jarvis 算法或包装的凸包(Convex Hull using Jarvis’ Algorithm or Wrapping)
  • Unknown column ‘oMIbw5H29LXtmAUjSSm7ZrymASUI‘ in ‘where clause‘
  • 前端技巧汇总