From bdb0d3a419df2445e59de2e6f6aea62497ad9e8f Mon Sep 17 00:00:00 2001 From: ZhangXianQiang <1135831638@qq.com> Date: 星期一, 01 四月 2024 14:19:25 +0800 Subject: [PATCH] fix:更改动画顺序 --- src/views/screen/components/screen-wrapper/index.vue | 41 ++++++++++++++++++++++++++++++++++------- 1 files changed, 34 insertions(+), 7 deletions(-) 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