数据可视化大屏 页面都会有一个特色的顶部,用来放标题时间以及菜单等效果,数据可视化大屏顶部组件 都整理出来方便复用。今天整理的来自数据大屏:vue3 蓝色数据可视化大屏顶部组件-工业互联网智慧大屏。
组件组成:
由顶部背景 中间标题 两边动画小圆球组成
帧动画效果
通过ae实现从两侧到中间的扫光动画,使用帧动画生成。帧动画虽然增加了效果同时也增加了文件大小。
帧动画文件大小
帧动画图片文件数量74
帧动画图片文件总大小 3.9M
组件内容
背景加中间标题
加帧动画效果实例
头部大小
1920 * 72
组件代码
<template>
<div class="pageTop">
<div class="pageTopLeft">
<dotLeft></dotLeft>
</div>
<div class="pageTopCenter">
<span>{{ title }}</span>
</div>
<div class="pageTopRight">
<dotRight></dotRight>
</div>
</div>
</template>
<script>
import dotLeft from "./dotLeft.vue";
import dotRight from "./dotRight.vue";
export default {
components: {
dotLeft,
dotRight
},
props: {
title: {
type: String,
default() {
return '工业互联网智慧大屏';
}
},
desc: {
type: String,
default() {
return '智慧';
}
},
},
}
</script>
<style lang="scss" scoped>
.pageTop {
background: url("./assets/topbg.png") no-repeat;
width: 100%;
height: 72px;
background-size: 100% 100%;
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: nowrap;
flex-direction: row;
align-content: flex-start;
.pageTopLeft {
width: 30%;
display: flex;
justify-content: flex-start;
align-items: center;
flex-wrap: nowrap;
flex-direction: row;
align-content: flex-start;
}
.pageTopCenter {
width: 40%;
height: 100%;
position: relative;
display: flex;
justify-content: center;
align-items: flex-start;
flex-wrap: nowrap;
flex-direction: row;
align-content: flex-start;
span {
font-size: 32px;
font-family: PangMenZhengDao;
font-weight: 400;
color: #06934F;
margin-top: 10px;
background: linear-gradient(0deg, #69A5FF 0%, #FFFFFF 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
}
.pageTopRight {
width: 30%;
display: flex;
justify-content: flex-end;
align-items: center;
flex-wrap: nowrap;
flex-direction: row;
align-content: flex-start;
font-size: 14px;
font-family: PingFang;
font-weight: 500;
color: #FBFFFF;
}
}
</style>
圆点动画组件
通过补间动画插件gsap 实现圆点依次从不透明变为透明,再从透明变为不透明。达到依次渐变动画。
<template>
<div class="dotList">
<div class="dot" ref="dot1"></div>
<div class="dot" ref="dot2"></div>
<div class="dot" ref="dot3"></div>
</div>
</template>
<script>
import gsap from 'gsap'
export default {
data() {
return {
duration: 0.3,
}
},
mounted() {
this.yincang()
},
methods: {
// 闪烁
yincang() {
var that = this;
gsap.to(this.$refs.dot1, {
duration: that.duration, opacity: '0.5', onComplete: () => {
gsap.to(this.$refs.dot2, {
duration: that.duration, opacity: '0.5', onComplete: () => {
gsap.to(this.$refs.dot3, {
duration: that.duration, opacity: '0.5', onComplete: () => {
that.xianshi()
}
})
}
})
}
})
},
xianshi() {
var that = this;
gsap.to(this.$refs.dot1, {
duration: that.duration, opacity: '1', onComplete: () => {
gsap.to(this.$refs.dot2, {
duration: that.duration, opacity: '1', onComplete: () => {
gsap.to(this.$refs.dot3, {
duration: that.duration, opacity: '1', onComplete: () => {
that.yincang()
}
})
}
})
}
})
},
},
}
</script>
<style lang="scss" scoped>
.dotList {
display: flex;
justify-content: flex-start;
align-items: center;
flex-wrap: nowrap;
flex-direction: row;
align-content: flex-start;
.dot {
width: 11px;
height: 11px;
background: #215CD3;
border: 1px solid #00BEFC;
border-radius: 50%;
margin-left: 10px;
margin-top: 17px;
}
}
</style>
更多数据可视化大屏顶部组件
源文件下载
文件包括头部效果代码 vue3 vite js nodejs 14
ae扫光动画源文件