react-transition-group动画以及数字滚动效果实现

html-css023

react-transition-group动画以及数字滚动效果实现,第1张

import {CSSTransition, TransitionGroup} from 'react-transition-group'

一个元素的显示隐藏:需要用CSSTransition将动画的元素包裹起来

CSSTransition包裹的元素可以使用class的钩子函数控制动画的形式

原理是:

每个数字由一张竖向的由0-9的图片改变位置来实现滚动,

注意千分符和小数点等其他字符串的单独处理

附赠图片

<marquee style="WIDTH: 388pxHEIGHT: 200px" scrollamount="2" direction="up" >

<div align="left" >

</div >

<center ><font face="黑体" color="#008000" size="4" ></font ></center >

<div align="left" >

</div >

<center >

<p ><font color="#ff6600" size="4" >滚动文字</font ></p >

<p ><font color="#ff4500" size="4" >滚动文字</font ></p >

<p ><font color="#ff3300" size="4" >滚动文字</font >

</p >

</marquee >

marquee 参数:

BGColor:滚动文本框的背景颜色。

Direction:滚动方bai向设置,可选择Left、Right、up和down。

scrolldelay:每轮滚动之间的延迟时间,越大越慢。

scrollamount:一次滚动总的时间量,数字越小滚动越慢。

Behaviour:滚动的方式设置,三种取值:Scroll(循环滚动) lide(单次滚动)、Alternate(来回滚动)。

Align:文字的对齐方式设置。可选择Middle(居中)、Bottom(居下)还是Top(居上)。

Width:滚动文本框的宽度,输入一个数值后从后面的单选框选择in Pixels(按像素)或是in Percent(按百分比)。

Height:滚动文本框的高度,输入一个数值后从后面的单选框选择in Pixels(按像素)或是in Percent(按百分比)。

loop:滚动次数。默认为infinite

hspace、vspace:前后、上下的空行。

数字实现滚动的效果

<span id="num1">1000</span>

<script src="https://cdn.bootcss.com/countup.js/1.9.3/countUp.js"></script>

<script type="text/javascript">   

 var options = {     

 useEasing: true,      

useGrouping: true,      

separator: ',',      

decimal: '.', 

  }   

 var num1 = new CountUp('num1', 0, 1000, 0, 2.5, options)   

 if (!num1.error) {    

 num1.start()  

  } else {     

 console.error(num1.error) 

   }

</script>

//num1:目标元素的ID 

 //0:滚动开始的数字

//100:滚动结束的数字

//2.5 :完成整个效果的时间