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