返回顶部
首页 > 资讯 > 精选 >React如何实现数字滚动组件numbers-scroll
  • 818
分享到

React如何实现数字滚动组件numbers-scroll

2023-07-05 11:07:29 818人浏览 独家记忆
摘要

本篇内容主要讲解“React如何实现数字滚动组件numbers-scroll”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“React如何实现数字滚动组件numbers-scroll”吧!首先给大

本篇内容主要讲解“React如何实现数字滚动组件numbers-scroll”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“React如何实现数字滚动组件numbers-scroll”吧!

首先给大家看下轮子的效果吧:

React如何实现数字滚动组件numbers-scroll

一、设计原理

如果要做到数字滚动效果,就一定要让数字有从下往上移动的感觉。如果只是纯粹的数字变化,显示出来的效果就会比较普通了,没有什么视觉上的冲击感,如图所示:

React如何实现数字滚动组件numbers-scroll

所以,我们需要数字在变化过程中,有种纸带往上抽的感觉。初始状态中,数字都在显示框下方等待。数字滚动中,则根据数字的大小决定滚动速度,数字越大,滚动越快;数字越小,则滚动越慢,这样会有一种参差的感觉,滚动的效果也会让人觉得更自然一些。

React如何实现数字滚动组件numbers-scroll

二、实现方式

初始状态中,每个数字展示的窗口下边都有0-9这10个数字在等待中,传入具体数字后,每个窗口就可以开始移动数字的位置了。

移动数字的位置可以有三种方式:1. 通过js改变样式(虽然逻辑更容易实现,但是执行效率太低,直接放弃);2. 通过animation来控制margin-top的值。3. 通过animation来控制transfORM的值。

虽然个人觉得通过tranform来控制显示位置会更好些,但是目前采用的是方式二,控制margin-top的值来展示数字的位置,效果还算可以了,有兴趣的同学可以改造成transform。

React代码片段如下:

<span className={scrollClass}>    <label style={numberStyle}>0</label>    <label style={numberStyle}>1</label>    <label style={numberStyle}>2</label>    <label style={numberStyle}>3</label>    <label style={numberStyle}>4</label>    <label style={numberStyle}>5</label>    <label style={numberStyle}>6</label>    <label style={numberStyle}>7</label>    <label style={numberStyle}>8</label>    <label style={numberStyle}>9</label>    <label style={numberStyle}>0</label></span>

CSS代码片段如下:

.numbers-scroll00 {   margin-top: -10 * $marginTop;   animation: scrollNumber0 1s linear 1 normal;   -moz-animation: scrollNumber0 1s linear 1 normal;   -WEBkit-animation: scrollNumber0 1s linear 1 normal;   -o-animation: scrollNumber0 1s linear 1 normal;}@keyframes scrollNumber0 {   0% { margin-top: 0px; }   100% { margin-top: -1100;}}

三、使用方式

安装依赖:

npm install numbers-scroll --save

引入数字滚动组件的两种示例:

// 示例1import React, { useState } from 'react'import NumbersScroll from 'numbers-scroll'const MyNumberScroll = () => {    const [number, setNumber] = useState(896507);    return (        <div className="example-container">            <NumbersScroll                split={true}                value={number}                numberStyle={{                fontSize: 50,                background: "#51a4e9",                color: "#fff",                marginLeft: 2,                marginRight: 2                }}            />        </div>    )}// 示例2import React, { Component } from "react"import NumbersScroll from 'numbers-scroll'class MyNumberScroll extends Component {  constructor(props) {    super(props)    this.state = {      number: 896507    }  }  render() {    const { number } = this.state    return <div className="example-container">      <NumbersScroll        split={true}        value={number}        numberStyle={{          fontSize: 50,          background: "#51a4e9",          color: "#fff",          marginLeft: 2,          marginRight: 2        }}      />    </div>  }}

四、参数说明

为了能够让组件应用在更多场景中,可以传入4个参数:split,value,numberStyle,containerStyle;其中numberStyle,containerStyle可以分别控制数字和容器的样式,用户可以随时调整以适应自己的场景。

参数名是否必须默认值描述
splitfasle是否加上分隔符
value0显示数字
numberStyle
数字的样式
containerStyle
容器的样式

numbers-scroll这个组件目前仅支持react,可以用于多种场景。

到此,相信大家对“React如何实现数字滚动组件numbers-scroll”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: React如何实现数字滚动组件numbers-scroll

本文链接: https://lsjlt.com/news/351325.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • React如何实现数字滚动组件numbers-scroll
    本篇内容主要讲解“React如何实现数字滚动组件numbers-scroll”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“React如何实现数字滚动组件numbers-scroll”吧!首先给大...
    99+
    2023-07-05
  • React实现数字滚动组件numbers-scroll的示例详解
    目录一、设计原理二、实现方式三、使用方式四、参数说明数字滚动组件,也可以叫数字轮播组件,这个名字一听就是非常普通常见的组件,第一反应就是想找找网上大佬的东西顶礼膜拜一下,这一搜,还真...
    99+
    2023-03-10
    React数字滚动组件 React数字滚动 React滚动
  • vue中如何实现无缝滚动组件vue-seamless-scroll
    小编给大家分享一下vue中如何实现无缝滚动组件vue-seamless-scroll,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧...
    99+
    2024-04-02
  • 微信小程序scroll-view组件如何实现滚动动画
    这篇文章主要介绍了微信小程序scroll-view组件如何实现滚动动画,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下实现原理利用...
    99+
    2024-04-02
  • vue中如何实现移动端的scroll滚动
    这篇文章主要为大家展示了“vue中如何实现移动端的scroll滚动”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中如何实现移动端的scroll滚动”这篇文...
    99+
    2024-04-02
  • react如何实现滚动条
    这篇“react如何实现滚动条”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“react如何实现滚动条”文章吧。react实现...
    99+
    2023-07-04
  • Vue transition组件简单实现数字滚动
    目录实现效果Scrip布局动画逻辑控制总结实现效果 Scrip <template> <button @click="addCount">点我滚动数字&...
    99+
    2024-04-02
  • Vue中利用better-scroll组件实现横向滚动功能
    About 最近在学习vue的过程中,仿照去哪儿网的移动端写了个小项目,旨在实践和巩固基础知识,但是今天发现去哪儿的首页上有一个组件用户体验较差,即一个横向列表使用浏览器的原生滚动...
    99+
    2024-04-02
  • Vue组件实现数字滚动抽奖效果
    本文实例为大家分享了Vue组件实现数字滚动抽奖效果的具体代码,供大家参考,具体内容如下 可调整数字滚动速度,可指定开奖延迟时间,可指定开奖数字,按个人需求自行改动(录了个效果供参考,...
    99+
    2024-04-02
  • uniapp 小程序端使用uni-popup组件时,页面用了scroll-view滚动组件,uni-popup组件也使用了scroll-view滚动出现组件滚动导致页面也滚动的解决方案
    在 uni-popup上给一个禁止滚动 @touchmove.stop.prevent="" 和一个样式height: 100vh;    来源地址:https://blog.csdn.net/qq_42628556/article/de...
    99+
    2023-10-03
    uni-app 小程序 前端
  • 怎么在Vue中使用better-scroll组件实现横向滚动功能
    怎么在Vue中使用better-scroll组件实现横向滚动功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、滚动的实现原理better-scroll的滚动...
    99+
    2023-06-15
  • Javascript如何实现字幕滚动
    小编给大家分享一下Javascript如何实现字幕滚动,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Javascript实现字幕...
    99+
    2024-04-02
  • vuejs如何实现文字滚动
    这篇文章主要介绍“vuejs如何实现文字滚动”,在日常操作中,相信很多人在vuejs如何实现文字滚动问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vuejs如何实现文字滚动”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-25
  • 微信小程序中如何使用scroll-view实现滚动穿透和阻止滚动
    小编给大家分享一下微信小程序中如何使用scroll-view实现滚动穿透和阻止滚动,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!...
    99+
    2024-04-02
  • jQuery如何实现返回顶部按钮和scroll滚动功能
    小编给大家分享一下jQuery如何实现返回顶部按钮和scroll滚动功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!jQuer...
    99+
    2024-04-02
  • vue如何利用better-scroll实现轮播图与页面滚动
    这篇文章给大家分享的是有关vue如何利用better-scroll实现轮播图与页面滚动的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.安装better-scroll在根目录中p...
    99+
    2024-04-02
  • JavaScript如何实现余额数字滚动效果
    今天就跟大家聊聊有关JavaScript如何实现余额数字滚动效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.实现背景上周在一个完成任务领取红包的活动需求中,需要实现一个用户点击...
    99+
    2023-06-22
  • React组件通信如何实现
    这篇文章主要介绍“React组件通信如何实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“React组件通信如何实现”文章能帮助大家解决问题。1. 父子组件通信方式父子组件之间的通信很常见,其中父组...
    99+
    2023-07-05
  • 微信小程序如何实现横向滑动scroll-view隐藏滚动条
    这篇文章主要介绍微信小程序如何实现横向滑动scroll-view隐藏滚动条,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!wxml <scroll-view ...
    99+
    2024-04-02
  • React实现动效弹窗组件
    我们在写一些 UI 组件时,若不考虑动效,就很容易实现,主要就是有无的切换(类似于 Vue 中的 v-if 属性)或者可见性的切换(类似于 Vue 中的 v-show 属性)。 1...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作