当前位置:网站首页>数字滚动带动画
数字滚动带动画
2022-07-02 17:54:00 【a٩(๑ʊ始于ʃʃʃ繁华ʊ๑)۶a】
数字滚动的前提是这个数字是实时变化的
父组件
<Num width="19px" height="45px" color="#11ffc5" :val="numCount" />
this.interval = setInterval(() => {
this.numCount = +this.numCount + Math.floor(Math.random() * 5);
}, 5000);
beforeDestroy() {
clearInterval(this.interval);
},
父组件
<template>
<div class="count-flop" :key="compKey" :style="{ height: height }">
<div
:class="item != '.' ? 'count-flop-box' : 'count-flop-point'"
v-for="(item, index) in value"
:key="index"
:style="{ width: width, color: color }"
>
<div
v-if="item != '.'"
class="count-flop-content"
:class="['rolling_' + item]"
>
<div v-for="(item2, index2) in numberList" :key="index2">
{
{
item2 }}
</div>
</div>
<div v-else class="count-flop-content">.</div>
</div>
<div v-if="suffix" class="count-flop-unit">{
{
suffix }}</div>
</div>
</template>
<script>
export default {
data() {
return {
value: [],
numberList: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
compKey: 0,
};
},
props: ["val", "suffix", "width", "height", "color"],
watch: {
val() {
this.value = this.val.toString().split("");
this.compKey += 1;
},
},
created() {
this.value = this.val.toString().split("");
},
};
</script>
<style scoped>
.count-flop {
display: inline-block;
/* font-size: 0; */
/* 可更改 */
}
.count-flop > div {
position: relative;
display: inline-block;
overflow: hidden;
height: 100%;
}
.count-flop-box {
/* 可更改 */
width: 18px;
border-radius: 6px;
/* font-size: 32px; */
}
.count-flop-point {
/* 可更改 */
margin-right: 5px;
width: 10px;
}
.count-flop-content {
font-family: MicrosoftYaHei-Bold;
text-align: center;
position: absolute;
left: 0;
top: 0;
width: 100%;
animation-fill-mode: forwards !important;
}
.rolling_0 {
animation: rolling_0 2.1s ease;
}
@keyframes rolling_0 {
from {
transform: translateY(-90%);
}
to {
transform: translateY(0);
}
}
.rolling_1 {
animation: rolling_1 3s ease;
}
@keyframes rolling_1 {
from {
transform: translateY(0);
}
to {
transform: translateY(-10%);
}
}
.rolling_2 {
animation: rolling_2 2.1s ease;
}
@keyframes rolling_2 {
from {
transform: translateY(0);
}
to {
transform: translateY(-20%);
}
}
.rolling_3 {
animation: rolling_3 3s ease;
}
@keyframes rolling_3 {
from {
transform: translateY(0);
}
to {
transform: translateY(-30%);
}
}
.rolling_4 {
animation: rolling_4 2.1s ease;
}
@keyframes rolling_4 {
from {
transform: translateY(0);
}
to {
transform: translateY(-40%);
}
}
.rolling_5 {
animation: rolling_5 3s ease;
}
@keyframes rolling_5 {
from {
transform: translateY(0);
}
to {
transform: translateY(-50%);
}
}
.rolling_6 {
animation: rolling_6 2.1s ease;
}
@keyframes rolling_6 {
from {
transform: translateY(0);
}
to {
transform: translateY(-60%);
}
}
.rolling_7 {
animation: rolling_7 3.1s ease;
}
@keyframes rolling_7 {
from {
transform: translateY(0);
}
to {
transform: translateY(-70%);
}
}
.rolling_8 {
animation: rolling_8 2.1s ease;
}
@keyframes rolling_8 {
from {
transform: translateY(0);
}
to {
transform: translateY(-80%);
}
}
.rolling_9 {
animation: rolling_9 3.6s ease;
}
@keyframes rolling_9 {
from {
transform: translateY(0);
}
to {
transform: translateY(-90%);
}
}
</style>
边栏推荐
- 学习八股文的知识点~~1
- R语言dplyr包filter函数筛选dataframe数据、如果需要筛选的数据列(变量)名称中包含引号则需要使用!!sym语法处理、否则因为无法处理引号筛选不到任何数据
- 学生抖音宣传母校被吐槽“招生减章”,网友:哈哈哈哈哈哈
- Golang并发编程——goroutine、channel、sync
- 【JVM调优实战100例】02——虚拟机栈与本地方法栈调优五例
- UML class diagram
- Use cheat engine to modify money, life and stars in Kingdom rush
- 全链路数字化转型下,零售企业如何打开第二增长曲线
- options should NOT have additional properties
- Crypto usage in nodejs
猜你喜欢
[fluent] dart data type (VaR data type | object data type)
学生抖音宣传母校被吐槽“招生减章”,网友:哈哈哈哈哈哈
How to copy and paste interlaced in Excel
juypter notebook 修改默认打开文件夹以及默认浏览器
Google's official response: we have not given up tensorflow and will develop side by side with Jax in the future
新手必看,点击两个按钮切换至不同的内容
MySQL advanced learning summary 7: MySQL data structure - Comparison of hash index, AVL tree, B tree and b+ tree
【测试开发】软件测试—概念篇
Industrial software lecture - core technology analysis of 3D CAD design software - the second lecture of the Forum
[100 cases of JVM tuning practice] 03 -- four cases of JVM heap tuning
随机推荐
C文件输入操作
Troubleshooting: kubectl reports an error validationerror: unknown field \u00a0
Excel如何进行隔行复制粘贴
The difference between SLC, MLC, TLC and QLC NAND SSD: which is better?
Fastdfs installation
徹底搞懂基於Open3D的點雲處理教程!
Excel查找一列中的相同值,删除该行或替换为空值
《病人家属,请来一下》读书笔记
R language ggplot2 visualization: visualize the line chart and add customized X-axis label information to the line chart using labs function
新加坡暑假旅遊攻略:一天玩轉新加坡聖淘沙島
QT中的QPropertyAnimation使用和toast案列
距离度量 —— 杰卡德距离(Jaccard Distance)
Golang并发编程——goroutine、channel、sync
Leetcode (81) -- search rotation sort array II
The difference between promise and observable
Deep learning mathematics foundation
Slam | how to align timestamps?
深度学习数学基础
Yolov3 trains its own data set to generate train txt
在Tensorflow2中使用mnist_784数据集进行手写数字识别