You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
249 lines
4.3 KiB
249 lines
4.3 KiB
<!-- @auth kahu -->
|
|
<template>
|
|
<view class="loading_box mask flex-center"
|
|
@touchmove.stop.prevent="HandlePageMove">
|
|
<!-- 点动画 -->
|
|
<view class="dot_box theOuterRotation"
|
|
v-if="false">
|
|
<view class="dot_item"
|
|
v-for="item in 4"></view>
|
|
</view>
|
|
|
|
<!-- 进度条动画 -->
|
|
<view class="progress_box" v-if="false">
|
|
<view class="progress_item progress_roll_center"></view>
|
|
</view>
|
|
Loading....
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
name: "index",
|
|
data() {
|
|
return {}
|
|
|
|
},
|
|
onPageScroll(e) {
|
|
return false
|
|
},
|
|
|
|
mounted() {
|
|
//#ifdef H5
|
|
//#endif
|
|
},
|
|
|
|
methods: {
|
|
HandlePageMove() {
|
|
return false
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss"
|
|
scoped>
|
|
.mask {
|
|
width: 100vw;
|
|
height: 100vh;
|
|
background: rgba(0, 0, 0, 0.5);
|
|
color: #fff;
|
|
}
|
|
|
|
.flex-center {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.loading_box {
|
|
width: 100vw;
|
|
height: 100vh;
|
|
position: fixed;
|
|
top: 0;
|
|
bottom: 0;
|
|
z-index: 9999;
|
|
|
|
/** 点动画*/
|
|
.theOuterRotation {
|
|
animation: rotate 2s ease-in-out .5s infinite normal;
|
|
}
|
|
|
|
.dot_box {
|
|
width: 80rpx;
|
|
height: 80rpx;
|
|
//background: #fff;
|
|
border-radius: 20rpx;
|
|
margin: 20rpx 0;
|
|
position: relative;
|
|
|
|
// 原始dot
|
|
.dot_item {
|
|
width: 30rpx;
|
|
height: 30rpx;
|
|
background: #fff;
|
|
border-radius: 50%;
|
|
position: absolute;
|
|
transition: all .6s;
|
|
box-shadow: 0 0 2rpx #b4b4b4;
|
|
|
|
&:nth-child(1) {
|
|
top: 0;
|
|
left: 0;
|
|
}
|
|
|
|
&:nth-child(2) {
|
|
top: 0;
|
|
right: 0;
|
|
}
|
|
|
|
&:nth-child(3) {
|
|
bottom: 0;
|
|
right: 0;
|
|
}
|
|
|
|
&:nth-child(4) {
|
|
bottom: 0;
|
|
left: 0;
|
|
}
|
|
}
|
|
|
|
// 单双放大动画
|
|
.dot_scale {
|
|
&:nth-child(1) {
|
|
top: 0;
|
|
left: 0;
|
|
animation: magnify 2s ease-in-out 0s infinite alternate;
|
|
}
|
|
|
|
&:nth-child(2) {
|
|
top: 0;
|
|
right: 0;
|
|
animation: magnify 2s ease-in-out 1s infinite alternate;
|
|
}
|
|
|
|
&:nth-child(3) {
|
|
bottom: 0;
|
|
right: 0;
|
|
animation: magnify 2s ease-in-out 0s infinite alternate;
|
|
}
|
|
|
|
&:nth-child(4) {
|
|
bottom: 0;
|
|
left: 0;
|
|
animation: magnify 2s ease-in-out 1s infinite alternate;
|
|
}
|
|
}
|
|
|
|
// 单点移动动画
|
|
.dot_move {
|
|
&:nth-child(1) {
|
|
z-index: 2;
|
|
animation: moveDot 2s ease-in-out 0s infinite normal;
|
|
}
|
|
}
|
|
|
|
// 单偶放大
|
|
@keyframes magnify {
|
|
0% {
|
|
transform: scale(1);
|
|
background: rgba(0, 255, 228, 0.82);
|
|
}
|
|
25% {
|
|
background: #32b5cc;
|
|
}
|
|
50% {
|
|
transform: scale(1.4);
|
|
background: #73e34e;
|
|
}
|
|
75% {
|
|
background: #0ec469;
|
|
}
|
|
100% {
|
|
transform: scale(1);
|
|
background: #868686;
|
|
}
|
|
}
|
|
|
|
// 移动单点
|
|
@keyframes moveDot {
|
|
0% {
|
|
top: 0;
|
|
left: 0;
|
|
background: #d0f598;
|
|
}
|
|
25% {
|
|
top: 0;
|
|
left: 100%;
|
|
transform: translateX(-100%);
|
|
background: #f5e298;
|
|
}
|
|
50% {
|
|
top: 100%;
|
|
left: 100%;
|
|
transform: translate(-100%, -100%);
|
|
background: #6bea91;
|
|
}
|
|
75% {
|
|
top: 100%;
|
|
left: 0;
|
|
transform: translateY(-100%);
|
|
background: #e84c7a;
|
|
}
|
|
100% {
|
|
top: 0;
|
|
left: 0;
|
|
}
|
|
|
|
}
|
|
|
|
@keyframes rotate {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
/** 进度条动画*/
|
|
.progress_box{
|
|
width: 300rpx;
|
|
height: 25rpx;
|
|
margin: 20rpx 0;
|
|
border-radius: 25rpx;
|
|
background-color: #fff;
|
|
position: relative;
|
|
overflow: hidden;
|
|
.progress_item{
|
|
width: 0%;
|
|
height: 100%;
|
|
background: #f68686;
|
|
border-radius: 25rpx;
|
|
|
|
}
|
|
.progress_roll{
|
|
animation: roll 1s ease-in-out 0s infinite alternate-reverse;
|
|
}
|
|
.progress_roll_center{
|
|
width: 5%;
|
|
transition: all .6s;
|
|
margin: 0 auto;
|
|
animation: roll 1s cubic-bezier(.15,.2,.05,.4) 0s infinite alternate-reverse;
|
|
}
|
|
}
|
|
|
|
@keyframes roll {
|
|
from{
|
|
width: 5%;
|
|
}
|
|
to{
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
}
|
|
</style>
|