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