From 3bce6eea6fa57a58dc32ec11e2920be6bbe31dd4 Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期四, 11 四月 2024 09:29:45 +0800
Subject: [PATCH] feat:入场过渡

---
 src/views/screen/components/screen-wrapper/index.vue |   31 +++++++++++++++++++++++++------
 1 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/src/views/screen/components/screen-wrapper/index.vue b/src/views/screen/components/screen-wrapper/index.vue
index dbc3d1b..b2dac5e 100644
--- a/src/views/screen/components/screen-wrapper/index.vue
+++ b/src/views/screen/components/screen-wrapper/index.vue
@@ -6,19 +6,19 @@
     </div>
     <div class="wrapper-content">
       <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-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-data></screen-data>
+        <screen-examine class="enter-right" :class="{ 'animate-enter-x': isEnd }"></screen-examine>
+        <screen-data class="enter-right animate-delay-1" :class="{ 'animate-enter-x': isEnd }"></screen-data>
       </div>
     </div>
   </div>
@@ -45,10 +45,29 @@
     ScreenCar,
     ScreenData
   },
+  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>

--
Gitblit v1.8.0