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

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

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

前言

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

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

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

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

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

实现

基础页面

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

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

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

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

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

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

滚动起来

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

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

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

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

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

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

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

永远滚动不完?

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

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

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

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

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

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

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

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

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

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

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

数据不断增长?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • 一加Ace2 Pro官宣:普及16G内存 引领24G

    一加官方今天继续为本月发布的新机一加Ace2 Pro带来预热,公布了内存方面的信息。“淘汰 8GB ,12GB 起步,16GB 普及,24GB 引领,还有呢?#一加Ace2Pro#,2023 年 8 月,敬请期待。”同时
  • 红魔电竞平板评测:大屏幕硬实力

    前言:三年的疫情因为要上网课的原因激活了平板市场,如今网课的时代已经过去,大家的生活都恢复到了正轨,这也就意味着,真正考验平板电脑生存的环境来了。也就是面对着这种残酷的
  • 中兴AX5400Pro+上手体验:再升级 双2.5G网口+USB 3.0这次全都有

    2021年11月的时候,中兴先后发布了两款路由器产品,中兴AX5400和中兴AX5400 Pro,从产品命名上就不难看出这是隶属于同一系列的,但在外观设计上这两款产品可以说是完全没一点关系
  • 6月iOS设备好评榜:第一蝉联榜首近一年

    作为安兔兔各种榜单里变化最小的那个,2023年6月的iOS好评榜和上个月相比没有任何排名上的变化,仅仅是部分设备好评率的下降,长年累月的用户评价和逐渐退出市场的老款机器让这
  • 六大权益!华为8月服务日开启:手机免费贴膜、维修免人工费

    8月5日消息,一年一度的华为开发者大会2023(Together)日前在松山湖拉开帷幕,与此同时,华为8月服务日也式开启,到店可享六大专属权益。华为用户可在华为商城Ap
  • 虚拟键盘 API 的妙用

    你是否在遇到过这样的问题:移动设备上有一个固定元素,当激活虚拟键盘时,该元素被隐藏在了键盘下方?多年来,这一直是 Web 上的默认行为,在本文中,我们将探讨这个问题、为什么会发生
  • 2299元起!iQOO Pad开启预售:性能最强天玑平板

    5月23日,iQOO如期举行了新品发布会,除了首发安卓最强旗舰处理器的iQOO Neo8系列新机外,还在发布会上推出了旗下首款平板电脑——iQOO Pad,其搭载了天玑
  • 荣耀Magicbook V 14 2021曙光蓝版本正式开售,拥有触摸屏

    荣耀 Magicbook V 14 2021 曙光蓝版本正式开售,搭载 i7-11390H 处理器与 MX450 显卡,配备 16GB 内存与 512GB SSD,重 1.48kg,厚 14.5mm,具有 1.5mm 键盘键程、
  • SN570 NVMe SSD固态硬盘 价格与性能兼具

    SN570 NVMe SSD固态硬盘是西部数据发布的最新一代WD Blue系列的固态硬盘,不仅闪存技术更为精进,性能也得到了进一步的跃升。WD Blue SN570 NVMe SSD的包装外
Top