当前位置:首页 > 科技  > 软件

突发奇想!Vue3 实现消息无限滚动的新思路!

来源: 责编: 时间:2024-06-20 15:22:38 223观看
导读前言大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心!最近有一个需求,需要在页面中做一个垂直方向的无限滚动,效果基本为如下,这个滚动是一直在持续的,不断循环。这个效果挺有意思

前言

大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心!t3N28资讯网——每日最新资讯28at.com

最近有一个需求,需要在页面中做一个垂直方向的无限滚动,效果基本为如下,这个滚动是一直在持续的,不断循环。t3N28资讯网——每日最新资讯28at.com

图片t3N28资讯网——每日最新资讯28at.com

t3N28资讯网——每日最新资讯28at.com

这个效果挺有意思的,实现起来不难,所以分享一下!t3N28资讯网——每日最新资讯28at.com

实现

基础页面

首先准备一下基础的页面,之所以给容器设置 overflow:hidden 是为了把滚动条给去掉,因为我们并不需要滚动条。t3N28资讯网——每日最新资讯28at.com

图片图片t3N28资讯网——每日最新资讯28at.com

t3N28资讯网——每日最新资讯28at.com

可以看出有些项是不在容器可视范围内的,且每一项的高度是 22px(每一项的高度可以自己定,我这里就用 22px 来进行示范)。t3N28资讯网——每日最新资讯28at.com

图片图片t3N28资讯网——每日最新资讯28at.com

t3N28资讯网——每日最新资讯28at.com

滚动起来

接下来得让这个容器滚动起来,那要怎么滚动呢?可以使用 scrollTo 这个方法来进行滚动~并且为了持续保持滚动,可以使用 requestAnimationFrame 来不断进行。t3N28资讯网——每日最新资讯28at.com

每次都对 top 进行递增,保证容器不断向上滚动。t3N28资讯网——每日最新资讯28at.com

图片图片t3N28资讯网——每日最新资讯28at.com

t3N28资讯网——每日最新资讯28at.com

但是我们可以看到,虽然top 一直在递增,但是滚动到最后就不动了!这是因为这个时候已经滚动到最底部了,那么自然就滚动不了了。t3N28资讯网——每日最新资讯28at.com

图片图片t3N28资讯网——每日最新资讯28at.com

t3N28资讯网——每日最新资讯28at.com

永远滚动不完?

上面为啥滚到底部就滚不动了呢?因为到最底部了,所以滚不动了呀!t3N28资讯网——每日最新资讯28at.com

那么想要永远滚不完应该怎么办呢?其实有一种办法,那就是永远到不了底,那要怎么实现呢?其实很简单,只要让数据不断增加就行!t3N28资讯网——每日最新资讯28at.com

怎么让数据不断增加呢,并且增加的规则是什么呢?其实很简单,我们每次滚上去一项,就拷贝这一项push 到列表数据末端,这样就能做到数据永远滚不完!t3N28资讯网——每日最新资讯28at.com

图片图片t3N28资讯网——每日最新资讯28at.com

t3N28资讯网——每日最新资讯28at.com

下面是代码实现,为什么是除以22 呢?因为每一项的高度是 22px。t3N28资讯网——每日最新资讯28at.com

图片图片t3N28资讯网——每日最新资讯28at.com

t3N28资讯网——每日最新资讯28at.com

现在可以达到想要的无限滚动效果。t3N28资讯网——每日最新资讯28at.com

图片图片t3N28资讯网——每日最新资讯28at.com

t3N28资讯网——每日最新资讯28at.com

数据不断增长?

但是其实上面的做法还是有缺点的,因为数据不断地push也就是不断地增加,如果页面保持一段时间的话,会大大占用内存,导致页面卡顿!!t3N28资讯网——每日最新资讯28at.com

所以我们可以在适当的时间点,去初始化数据,也就是把数据恢复到一开始样子,这样就能避免数据不断增加了!t3N28资讯网——每日最新资讯28at.com

那么应该在什么时机去初始化数据呢?并且要怎么初始化才能让用户察觉不出来呢?怎么做到无缝衔接进行初始化呢?t3N28资讯网——每日最新资讯28at.com

通过一个图告诉大家~其实最好的时机就是在刚好滚动完一轮的时候。t3N28资讯网——每日最新资讯28at.com

图片图片t3N28资讯网——每日最新资讯28at.com

t3N28资讯网——每日最新资讯28at.com

最终代码实现如下:t3N28资讯网——每日最新资讯28at.com

图片图片t3N28资讯网——每日最新资讯28at.com

t3N28资讯网——每日最新资讯28at.com

最终实现效果:t3N28资讯网——每日最新资讯28at.com

图片 图片 t3N28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-95162-0.html突发奇想!Vue3 实现消息无限滚动的新思路!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 快速学习一个算法,Vision Transformer

下一篇: Apereo CAS SSO单点系统的 OAuth2/OpenID Connect集成问题

标签:
  • 热门焦点
  • 天猫精灵Sound Pro体验:智能音箱没有音质?来听听我的

    这几年除了手机作为智能生活终端最主要的核心之外,第二个可以成为中心点的产品是什么?——是智能音箱。 手机在执行命令的时候有两种操作方式,手和智能语音助手,而智能音箱只
  • Raft算法:保障分布式系统共识的稳健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可复制、可冗余、可容错”)的首字母缩写。Raft算法是一种用于在分布式系统
  • 得物效率前端微应用推进过程与思考

    一、背景效率工程随着业务的发展,组织规模的扩大,越来越多的企业开始意识到协作效率对于企业团队的重要性,甚至是决定其在某个行业竞争中突围的关键,是企业长久生存的根本。得物
  • 让我们一起聊聊文件的操作

    文件【1】文件是什么?文件是保存数据的地方,是数据源的一种,比如大家经常使用的word文档、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存数据,它既可以保
  • 自律,给不了Keep自由!

    来源 | 互联网品牌官作者 | 李大为编排 | 又耳 审核 | 谷晓辉自律能不能给用户自由暂时不好说,但大概率不能给Keep自由。近日,全球最大的在线健身平台Keep正式登陆港交所,努力
  • 华为HarmonyOS 4升级计划公布:首批34款机型今日开启公测

    8月4日消息,今天下午华为正式发布了HarmonyOS 4系统,在更流畅的前提下,还带来了不少新功能,UI设计也有变化,会让手机焕然一新。华为宣布,首批机型将会在
  • 机构称Q2国内智能手机销量同比下滑4% vivo份额重回第1

    7月29日消息,根据市场调查机构Counterpoint Research公布的最新报告,2023年第2季度中国智能手机销量同比下降4%,创新自2014年以来第2季度销量新低。报
  • 三星获批量产iPhone 15全系屏幕:苹果史上最惊艳直屏

    按照惯例,苹果将继续在今年9月举办一年一度的秋季新品发布会,有传言称发布会将于9月12日举行,届时全新的iPhone 15系列将正式与大家见面,不出意外的话
  • 电博会与软博会实现"线下+云端"的双线融合

    在本次“电博会”与“软博会”双展会利好条件的加持下,既可以发挥展会拉动人流、信息流、资金流实现快速交互流动的作用,继而推动区域经济良性发展;又可以聚
Top