多租户商城-商户小程序端
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

<!-- @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>