VUE3教程:新手如何轻松掌握多个元素间过渡动画?

2026-05-23 02:141阅读0评论SEO问题
  • 内容介绍
  • 相关推荐

本文共计872个文字,预计阅读时间需要4分钟。

1. 概述+老话说得好:过去不等于未来,过去的成功不代表将来也会成功,过去的失败也不代表将来也会失败。传承正道,今天我们来聊聊多个元素之间的过渡。

2.元素间的过渡

1. 概述

老话说的好:过去不等于未来,过去成功了不代表将来也会成功,过去失败了也不代表将来也会失败。

言归正传,今天我们聊聊多个元素之间的过渡。

2.多个元素之间的过渡

2.1 两个元素交替显示

<body> <div id="myDiv"></div> </body> <script> const app = Vue.createApp({ data(){ return { show : false } }, methods : { myClick() { this.show = !this.show; } }, template:` <div class="center"> <transition> <div v-if="show"><h3>on</h3></div> <div v-else="show"><h3>off</h3></div> </transition> <button @click="myClick">切换</button> </div> ` }); const vm = app.mount("#myDiv");

这个例子中,点击切换按钮,两个 div 元素会交替显示,使用了我们之前学过的 v-if 和 v-else 的例子

2.2 增加过渡效果

<style> /* 入场起始样式 */ .v-enter-from { opacity: 0; } /* 入场过渡效果 */ .v-enter-active { transition: 2s opacity ease-in; } /* 入场结束样式 */ .v-enter-to { opacity: 1; } /* 出场起始样式 */ .v-leave-from { opacity: 1; } /* 出场过渡效果 */ .v-leave-active { transition: 2s opacity ease-in; } /* 出场结束样式 */ .v-leave-to { opacity: 0; } </style>

我们根据之前的知识增加入场、出场的过渡效果,但效果并不太好,两个元素是同时渲染过渡效果的

2.3 增加模式

template:` <div class="center"> <transition mode="out-in"> <div v-if="show"><h3>on</h3></div> <div v-else="show"><h3>off</h3></div> </transition> <button @click="myClick">切换</button> </div> `

我们增加了 mode="out-in" 后,效果好多了,出场元素会先渲染,然后入场元素才渲染

2.4 点刷新,元素也有过渡效果

template:` <div class="center"> <transition mode="out-in" appear> <div v-if="show"><h3>on</h3></div> <div v-else="show"><h3>off</h3></div> </transition> <button @click="myClick">切换</button> </div> `

我们在 transition 标签上增加了 appear 属性,此时点击刷新,也有过渡效果

3. 综述

今天聊了一下 VUE3 中多个元素之间的过渡,希望可以对大家的工作有所帮助,下一节我们继续讲 Vue 中 动画 的相关知识,敬请期待

欢迎帮忙点赞、评论、转发、加关注 :)

关注追风人聊Java,这里干货满满,都是实战类技术文章,通俗易懂,轻松上手。

4. 个人公众号

追风人聊Java,欢迎大家关注

本文共计872个文字,预计阅读时间需要4分钟。

1. 概述+老话说得好:过去不等于未来,过去的成功不代表将来也会成功,过去的失败也不代表将来也会失败。传承正道,今天我们来聊聊多个元素之间的过渡。

2.元素间的过渡

1. 概述

老话说的好:过去不等于未来,过去成功了不代表将来也会成功,过去失败了也不代表将来也会失败。

言归正传,今天我们聊聊多个元素之间的过渡。

2.多个元素之间的过渡

2.1 两个元素交替显示

<body> <div id="myDiv"></div> </body> <script> const app = Vue.createApp({ data(){ return { show : false } }, methods : { myClick() { this.show = !this.show; } }, template:` <div class="center"> <transition> <div v-if="show"><h3>on</h3></div> <div v-else="show"><h3>off</h3></div> </transition> <button @click="myClick">切换</button> </div> ` }); const vm = app.mount("#myDiv");

这个例子中,点击切换按钮,两个 div 元素会交替显示,使用了我们之前学过的 v-if 和 v-else 的例子

2.2 增加过渡效果

<style> /* 入场起始样式 */ .v-enter-from { opacity: 0; } /* 入场过渡效果 */ .v-enter-active { transition: 2s opacity ease-in; } /* 入场结束样式 */ .v-enter-to { opacity: 1; } /* 出场起始样式 */ .v-leave-from { opacity: 1; } /* 出场过渡效果 */ .v-leave-active { transition: 2s opacity ease-in; } /* 出场结束样式 */ .v-leave-to { opacity: 0; } </style>

我们根据之前的知识增加入场、出场的过渡效果,但效果并不太好,两个元素是同时渲染过渡效果的

2.3 增加模式

template:` <div class="center"> <transition mode="out-in"> <div v-if="show"><h3>on</h3></div> <div v-else="show"><h3>off</h3></div> </transition> <button @click="myClick">切换</button> </div> `

我们增加了 mode="out-in" 后,效果好多了,出场元素会先渲染,然后入场元素才渲染

2.4 点刷新,元素也有过渡效果

template:` <div class="center"> <transition mode="out-in" appear> <div v-if="show"><h3>on</h3></div> <div v-else="show"><h3>off</h3></div> </transition> <button @click="myClick">切换</button> </div> `

我们在 transition 标签上增加了 appear 属性,此时点击刷新,也有过渡效果

3. 综述

今天聊了一下 VUE3 中多个元素之间的过渡,希望可以对大家的工作有所帮助,下一节我们继续讲 Vue 中 动画 的相关知识,敬请期待

欢迎帮忙点赞、评论、转发、加关注 :)

关注追风人聊Java,这里干货满满,都是实战类技术文章,通俗易懂,轻松上手。

4. 个人公众号

追风人聊Java,欢迎大家关注