React实现无缝滚动列表
一.前言
公司最近大屏可视化需要一个循环无缝滚动的列表,也看到了一些组件。想来想去还是自己封装一个滚动组件,当然这里也借鉴了许多文章。
二.开发流程
1.首先开启滚动我们首先需要让子元素超出父元素,再把父元素添加一个overflow属性就可以完成。
2.怎样让列表滚动起来?
我试过了很多方法,比如动态的改变子元素的TOP,又或者改变父元素的scrollTop,但是这些都有一个问题
向这样当子元素到顶的时候,突然归0的话列表会出现抖动的情况。所以我又参考了别的方法最后采用了transform。
原理就是在所有列表项滚动完成后,将 div 的自身位移设置为0,也就是transform: translate(0px,0px),此时的移动是一瞬间的,所以肉眼是看不出来的。我的代码逻辑就是先获取所有列表项的高度,判断scrollTop是否大于等于列表的高度,如果大于等于,就将 scrollTop 设置为0。这样就可以达到无缝滚动的效果。
由于一直向上滚动可能会出现空白的情况,这里我们可以再建一个空的div,然后就已有的div复制给他
鼠标的移入和移出我们可以定义一个变量,当移入就是false,移出就是true
然后根据这个变量的值进行判定。
最后希望大家一起加油。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfbhja
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01