我们在工作中有时会用到数字递增的效果,比如倒计时,数字从1-10的变化。一个个数字打出来,数字少的时候还可以,那如果10000到20000呢?
数字递增变化可能会遇到无数的情况,这里总结了一些我能想到的大部分情况,供大家参考。
a.简单的整数递增:比如我们需要在4秒内,做1-10的递增变化:
GIF
1-10递增变化
表达式为:
n = linear(time, 0, 4, 1, 10);
Math.floor(n)
表达式解析:
首先定义一个n
linear(time, 0, 4, 1, 10)意思是,随着时间0秒到4秒,做1-10的变化
Math.floor(n) 对n的数值取整,返回数值的整数
为什么要给数值取整?如果不取整,数字会输出含有小数点的数值
GIF
不取整的输出
b.如果我们需要在4秒内,做10000-100000的递增变化:我们只要把上边的表达式改为:
n = linear(time, 0, 4, 10000, 100000);
Math.floor(n)
GIF
10000-100000递增变化
c.如果我们需要在0-1秒数字不变,1-4秒做0-10的递增变化:
n = linear(time, 1, 4, 1, 10);
Math.floor(n)
GIF
0-1秒数字不变
d.如果我们需要数字前加上文字,比如做某个尺寸1-100的递增:
n = linear(time, 0, 4, 1, 100);
"尺寸:" + Math.floor(n)
GIF
尺寸1-100递增
还可以在后边加上单位:
n = linear(time, 0, 4, 1, 100);
"尺寸:" + Math.floor(n) + "cm"
GIF
加上单位
e.小数点的递增
如果我们需要4秒内,做0.1-1的递增变化,表达式为:
n = linear(time, 0, 4, 0.1, 1);
n.toFixed(1)
01-1的递增变化
表达式解析:
首先定义一个n
linear(time, 0, 4, 1, 10)意思是,随着时间0秒到4秒,做1-10的变化
n.toFixed(1) 对n的数值取小数点后1位,返回数值
n.toFixed(2) 保留小数点后2位,数字可根据需要修改
保留小数点后2位
f.如果根据进出点来做数字递增:图层开始到结束,1-10递增变化:
n = linear(time, inPoint, outPoint, 1, 10);
Math.floor(n)
表达式解析:
inPoint 图层开始点
outPoint 图层结束点
定义开始到结束,这样减图层的长度或者加长度,都不会影响1-10的递增变化
定义开始到结束