From bdb0d3a419df2445e59de2e6f6aea62497ad9e8f Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期一, 01 四月 2024 14:19:25 +0800
Subject: [PATCH] fix:更改动画顺序
---
public/index.html | 52 +++++++++++++++----------
src/views/screen/components/screen-wrapper/index.vue | 41 +++++++++++++++++---
src/views/screen/components/screen-map-three/index.vue | 2 +
3 files changed, 67 insertions(+), 28 deletions(-)
diff --git a/public/index.html b/public/index.html
index 925455c..8a1815d 100644
--- a/public/index.html
+++ b/public/index.html
@@ -1,21 +1,27 @@
<!DOCTYPE html>
<html>
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <meta name="renderer" content="webkit">
- <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
- <link rel="icon" href="<%= BASE_URL %>favicon.ico">
- <title><%= webpackConfig.name %></title>
- <!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
- <style>
+
+<head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <meta name="renderer" content="webkit">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
+ <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+ <title>
+ <%= webpackConfig.name %>
+ </title>
+ <!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
+ <style>
html,
body,
#app {
height: 100%;
margin: 0px;
padding: 0px;
+ overflow: hidden;
+
}
+
.chromeframe {
margin: 0.2em 0;
background: #ccc;
@@ -92,6 +98,7 @@
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
+
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
@@ -105,6 +112,7 @@
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
+
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
@@ -194,15 +202,17 @@
opacity: 0.5;
}
</style>
- </head>
- <body>
- <div id="app">
- <div id="loader-wrapper">
- <div id="loader"></div>
- <div class="loader-section section-left"></div>
- <div class="loader-section section-right"></div>
- <div class="load_title">姝e湪鍔犺浇绯荤粺璧勬簮锛岃鑰愬績绛夊緟</div>
- </div>
- </div>
- </body>
-</html>
+</head>
+
+<body>
+ <div id="app">
+ <div id="loader-wrapper">
+ <div id="loader"></div>
+ <div class="loader-section section-left"></div>
+ <div class="loader-section section-right"></div>
+ <div class="load_title">姝e湪鍔犺浇绯荤粺璧勬簮锛岃鑰愬績绛夊緟</div>
+ </div>
+ </div>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/src/views/screen/components/screen-map-three/index.vue b/src/views/screen/components/screen-map-three/index.vue
index 1d010f4..a117a58 100644
--- a/src/views/screen/components/screen-map-three/index.vue
+++ b/src/views/screen/components/screen-map-three/index.vue
@@ -20,6 +20,8 @@
width: 100%;
height: 100%;
position: absolute;
+ left: 0;
+ top: 0;
z-index: 0;
.world {
width: 100%;
diff --git a/src/views/screen/components/screen-wrapper/index.vue b/src/views/screen/components/screen-wrapper/index.vue
index b9d9235..c501131 100644
--- a/src/views/screen/components/screen-wrapper/index.vue
+++ b/src/views/screen/components/screen-wrapper/index.vue
@@ -7,19 +7,19 @@
<div class="wrapper-content">
<screen-map-three></screen-map-three>
<div class="left-container wrapper">
- <screen-face class="animate-enter-x enter-left"></screen-face>
- <screen-car class="animate-enter-x enter-left animate-delay-1"></screen-car>
- <screen-video class="animate-enter-x enter-left animate-delay-2"></screen-video>
+ <screen-face class="enter-left" :class="{ 'animate-enter-x': isEnd }"></screen-face>
+ <screen-car class="enter-left animate-delay-1" :class="{ 'animate-enter-x': isEnd }"></screen-car>
+ <screen-video class="enter-left animate-delay-2" :class="{ 'animate-enter-x': isEnd }"></screen-video>
</div>
<div class="center-container center-wrapper">
<!-- <screen-map></screen-map> -->
<screen-map-cover></screen-map-cover>
- <screen-table class="animate-enter-y enter-top"></screen-table>
+ <screen-table class="enter-top" :class="{ 'animate-enter-y': isEnd }"></screen-table>
<!-- <screen-detection></screen-detection> -->
</div>
<div class="right-container wrapper">
- <screen-examine class="animate-enter-x enter-right"></screen-examine>
+ <screen-examine class="enter-right" :class="{ 'animate-enter-x': isEnd }"></screen-examine>
</div>
</div>
</div>
@@ -49,10 +49,29 @@
ScreenMapCover,
ScreenMapThree
},
+ data() {
+ return {
+ isEnd: false
+ }
+ },
methods: {
returnPath() {
this.$router.push('/index');
+ },
+ checkAnimationEnd(event) {
+ if (this.isEnd) return;
+ if (event.propertyName === 'transform') {
+ this.isEnd = true;
+ }
}
+ },
+ mounted() {
+ const container = document.querySelector('.screen-wrapper');
+ container.addEventListener('transitionend', this.checkAnimationEnd);
+ },
+ destroyed() {
+ const container = document.querySelector('.screen-wrapper');
+ container.removeEventListener('transitionend', this.checkAnimationEnd);
}
}
</script>
@@ -149,14 +168,22 @@
}
@keyframes enter-x {
- 100% {
+ from {
+ opacity: 0;
+ }
+
+ to {
opacity: 1;
transform: translateX(0);
}
}
@keyframes enter-y {
- 100% {
+ from {
+ opacity: 0;
+ }
+
+ to {
opacity: 1;
transform: translateY(0);
}
--
Gitblit v1.8.0