前言

因为公司业务需要,数字发生变化的时候就翻动数字进行变化,要有动画效果....

实现效果

实现逻辑

第一步,把数字显示出来

第二步,只显示单个数字,也就是溢出隐藏设置对应的宽高

第三步,移动数字也就是修改定位top值跟加点动画

完结~~~。

实现代码

公共的css代码

.turn_box_container {margin-left: 10rpx;
}.turn_box_container {position: relative;display: inline-block;float: left;overflow: hidden;background-color: red;
}.turn_box {position: absolute;left: 0;top: 0;height: auto;width: 100%;transform-origin: 0 0;transition: top 0.8s;
}.turn_box_number {line-height: 100rpx;font-size: 66rpx;font-family: MicrosoftYaHei-Bold;font-weight: bold;color: #4898F1;text-align: center;
}

taro版

import { Component } from 'react'
import { View, Text } from '@tarojs/components'
import { AtNavBar } from 'taro-ui'
import Taro from '@tarojs/taro'
import "taro-ui/dist/style/components/nav-bar.scss" // 按需引入
import "taro-ui/dist/style/components/icon.scss" // 按需引入import './index.css'export default class Index extends Component {constructor() {super(...arguments)this.state = ({listAll: [1, 2, 3, 4]})}componentWillMount () { }componentDidMount () { }componentWillUnmount () { }componentDidShow () { }componentDidHide () { }render () {const { listAll } = this.statereturn (<View><AtNavBarborder='fasle'onClickLeftIcon={this.handleClick.bind(this)}color='#000'title='测试页'leftIconType ='chevron-left'/><View onClick={this.handleClick.bind(this)}>变化数字</View><View style="margin: 10rpx">{listAll.map((item) => {return (<View className="turn_box_container" style="width: 80rpx; height: 100rpx;"><View className="turn_box" style={ 'top:' + ( -1 * item * 100) +'rpx' }> <View className="turn_box_number">0</View><View className="turn_box_number">1</View><View className="turn_box_number">2</View><View className="turn_box_number">3</View><View className="turn_box_number">4</View><View className="turn_box_number">5</View><View className="turn_box_number">6</View><View className="turn_box_number">7</View><View className="turn_box_number">8</View><View className="turn_box_number">9</View></View></View>)})}</View></View>)}// 模拟测试数据getNumber(){let random = Math.floor(Math.random() * (100000- 1) + 1)console.log(random)let randomString = random.toString()let arr = []for (var i = 0, len = randomString.length; i < len; i += 1) {arr.push(randomString.charAt(i))}this.setState({listAll: arr})}run() {this.getNumber()}handleClick() {this.run()}
}

react版

import { Component } from 'react'import './index.css'export default class Index extends Component {constructor() {super(...arguments)this.state = ({listAll: [1, 2, 3, 4]})}componentWillMount () { }componentDidMount () { }componentWillUnmount () { }componentDidShow () { }componentDidHide () { }render () {const { listAll } = this.statereturn (<div><div onClick={this.handleClick.bind(this)}>变化数字</div><div style="margin: 10rpx">{listAll.map((item) => {return (<div className="turn_box_container" style="width: 80rpx; height: 100rpx;"><div className="turn_box" style={ 'top:' + ( -1 * item * 100) +'rpx' }> <div className="turn_box_number">0</div><div className="turn_box_number">1</div><div className="turn_box_number">2</div><div className="turn_box_number">3</div><div className="turn_box_number">4</div><div className="turn_box_number">5</div><div className="turn_box_number">6</div><div className="turn_box_number">7</div><div className="turn_box_number">8</div><div className="turn_box_number">9</div></div></div>)})}</div></div>)}// 模拟测试数据getNumber(){let random = Math.floor(Math.random() * (100000- 1) + 1)console.log(random)let randomString = random.toString()let arr = []for (var i = 0, len = randomString.length; i < len; i += 1) {arr.push(randomString.charAt(i))}this.setState({listAll: arr})}run() {this.getNumber()}handleClick() {this.run()}
}

总结

也没啥总结的...

react(taro)实现数字翻动(滚动)效果相关推荐

  1. android开发游记:仿支付宝余额数字累加滚动效果的实现

    支付宝更新9.0后,细心的朋友会发现新增了一个动画效果,就是进入我的钱包的时候,我的余额会有一段滚动显示的动画效果,比如说你有100块,余额就从0滚动到100,看到自己的钱在不断涨,让我们这些穷屌丝莫 ...

  2. 原生js实现大屏数字上下滚动效果,支持随机多位数字

    一文看懂大屏数字滚动 前言 一.html 二.js生成展示的元素 三.css实现样式 四.加入动画和定时器 前言 在大屏项目中经常需要实现那种数字上下滚动的效果,普通的数字随机滚动在UI组件(例如Vi ...

  3. css数字/文字滚动效果

    效果: 原理 利用伪类,开始的时候给本来的内容盖住,然后执行动画. 设置宽高,宽就是单个内容(比如数字中的一位数)的宽,让内容一行一个的排成列. 动画就是让这些内容一个个的往上升,造成一种滚动效果 最 ...

  4. js,jq html css 实现数字上下滚动效果

    文章目录 使用方法 一.gScrollNumber.js是什么? 二.使用步骤 1.引入库 2.效果截图 使用方法 用于数字屏更新滚动效果. 一.gScrollNumber.js是什么? 用来使数字能 ...

  5. Js实现数字动态滚动效果

    生成gif后有点卡顿,实际上是很流畅的. 完整代码如下 DOM <!DOCTYPE html> <html> <head><title></tit ...

  6. 初级开发者福音:手把手教你实现数字滚动效果~

    文章目录 一.前言 二.背景知识 三.实现方案 Step 1:分析需求 Step 2:实现单个数字的滚动效果 Step 3:组件接口设计 Step 4:完善组件 一.前言 前端数字滚动显示的场景很多, ...

  7. vue 大屏数字上下滚动

    vue 大屏数字上下滚动 效果就是有数字变动时,会有一个动画跳到相应的数字,是上下滚动的那种. <div class="chartNum"><div class= ...

  8. Taro(React)实现具有滚动效果的倒数计时器

    Taro(React)实现具有滚动效果的倒数计时器 Taro获取节点方法的封装 import Taro from "@tarojs/taro"; import { NodesRef ...

  9. html数字自动滚动代码怎么写,你可能需要这样的大屏数字滚动效果

    大屏数字滚动效果来源于最近工作中一张大屏的UI图,该UI图上有一个模块需要有数字往上翻动的效果,以下是最终实现的效果: 思路 在实现此效果之前,我们先来捋一下思路,用思维导图来设计一下我们的实现步骤, ...

最新文章

  1. 50+篇《神经架构搜索NAS》2020论文合集
  2. JavaScript正则表达式笔记
  3. eclipse 集成 github
  4. go面向对象编程:结构体struct详解、结构体实例的创建方式、结构体之间的转换(type取别名的使用)、方法的注意事项及与函数的区别
  5. Hyper-V 和Ubuntu Server 16.04 配置静态IP
  6. SpringCloud:Zuul 路由访问(基本使用、路由功能、过滤访问、服务降级)
  7. 机器学习面试题(part3)
  8. 数据分析不能挣钱、不能给公司创造利润,那要你有什么用?
  9. 为什么python不需要编译_为什么我用Go写机器学习部署平台,而偏偏不用Python?...
  10. 2015/8/29 Python基础(3):数值
  11. 完成端口中的单句柄数据结构与单IO数据结构的理解与设计
  12. MPICH2在WINDOWS下的安装配置
  13. Spring Mvc:用MultiPartFile上传单个文件,多个文件
  14. 一个很好的makefile例子(经典)
  15. Python小白的数学建模课-11.偏微分方程数值解法
  16. Ubuntu中Scala下载
  17. 前IBM人工智能科学家为你解读AI行业的三大核心素养
  18. android studio abc_list_selector_disabled_holo_light.9.png报错
  19. 美国成功企业竞争情报案例分析
  20. 妈妈见我来了的香港旅游局

热门文章

  1. 谷歌和甲骨文的服务器宕机,如何解决
  2. 数值分析(1)误差及误差分析
  3. Trunk的封装协议详解
  4. 巨量广告:常见提量 提消耗 三大招
  5. addition过程 sgnb_NSA辅载波SN添加成功率优化指导书(中兴设备)
  6. Apache Guacamole 远程桌面
  7. 代理ip会不会影响网络速度和稳定性
  8. 联想ThinkServerRD640硬RAID1
  9. css3动画旋转360度,CSS3旋转动画(360度旋转、旋转放大、放大、移动) 用法和实例...
  10. 万王之王3d服务器正在维护,万王之王3D服务器尚未对外开放怎么回事_万王之王3D服务器进不去解决方法_玩游戏网...