文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php教程>教你怎么使用Vue实现动画效果(附代码)

教你怎么使用Vue实现动画效果(附代码)

时间:2021-08-30  来源:互联网

今天PHP爱好者给大家带来Vue实现动画效果的教程,之前的文章《手把手教你使用CSS3制作一个简单页面的布局(代码详解)》中,给大家介绍了怎么使用CSS3制作一个简单页面的布局。下面本篇文章给大家介绍怎么使用Vue实现动画效果,有需要的朋友可以参考一下,希望对你们有帮助。希望对大家有所帮助。

官网 API 地址:https://cn.vuejs.org/v2/guide/transitions.html

官方的demo点击显示与消失

<p id="demo">
 <button v-on:click="show = !show">
   Toggle
 </button>
 <transition name="fade">
   <p v-if="show">hello</p>
 </transition>
</p>
<script>
 new Vue({
   el: "#demo",
   data: {
     show: true,
   },
 });
</script>
<style>
 .fade-enter-active,
 .fade-leave-active {
   transition: opacity 0.5s;
 }
 .fade-enter,
 .fade-leave-active {
   opacity: 0;
 }
</style>

transition 使用

<transition name="fade">
 (元素,属性、路由....)
</transition>

class定义

.fade-enter{ }进入过渡的开始状态,元素被插入时生效,只应用一帧后立即删除;(运动的初始状态)

.fade-enter-active{ }进入过渡的结束状态,元素被插入时就生效,在transition/animation完成之后移除。这个类可以被用来定义过渡的过程时间,延迟和曲线函数。

.fade-leave{ }离开过渡的开始状态,元素被删除时触发,只应用一帧后立即删除;

.fade-leave-active{ }离开过渡的结束状态,元素被删除时生效,在transition/animation完成之后移除。这个类可以被用来定义过渡的过程时间,延迟和曲线函数。

自定义过度类名

  • 默认的 .fade-enter变成 .fade-in-enter

  • 默认的 .fade-enter-active变成 .fade-in-active

  • 默认的 .fade-leave变成 .fade-out-enter

  • 默认的 .fade-leave-active变成 .fade-out-active

<transition
 name="fade"
 enter-class="fade-in-enter"
 enter-active-class="fade-in-active"
 leave-class="fade-out-enter"
 leave-active-class="fade-out-active"
>
 <p v-show="show">hello</p>
</transition>

.fade-in-active,
.fade-out-active {
 transition: all 0.5s ease;
}
.fade-in-enter,
.fade-out-active {
 opacity: 0;
}

transition相关函数

<transition
 name="fade"
 @before-enter="beforeEnter"
 @enter="enter"
 @after-enter="afterEnter"
 @before-leave="beforeLeave"
 @leave="leave"
 @after-leave="afterLeave"
>
 <p v-show="show"></p>
</transition>
<script>
 export default {
   methods: {
     beforeEnter(el) {
       console.log("动画enter之前");
     },
     enter(el) {
       console.log("动画enter进入");
     },
     afterEnter(el) {
       console.log("动画进入之后");
       el.style.background = "blue";
     },
     beforeLeave(el) {
       console.log("动画leave之前");
     },
     leave(el) {
       console.log("动画leave");
     },
     afterLeave(el) {
       console.log("动画leave之后");
       el.style.background = "red";
     },
   },
 };
</script>

transition结合animate.css使用

以下代码演示元素以 X 轴为基线,翻转进场出场的动画Animate.css 库点这里地址:https://animate.style/

<!-- 翻转进场出场-->
<transition enter-active-class="flipInX" leave-active-class="flipOutX">
 <p v-show="show" class="animated"></p>
</transition>
<!-- 或者 -->
<transition
 enter-active-class="animated flipInX"
 leave-active-class="animated flipOutX"
>
 <p v-show="show"></p>
</transition>

列表过渡

<transition-group enter-active-class="flipInX" leave-active-class="flipOutX">
 <p v-show="show" :key="x" v-for="x in 5"></p>
</transition-group>

需要注意的是在group的时候,key的取值直接影响动画的过渡,详情请参阅vue动画key取值影响过渡动画表现

以上就是教你怎么使用Vue实现动画效果(附代码)的详细内容,更多请关注php爱好者其它相关文章!

相关阅读更多 +
最近更新
排行榜 更多 +
元梦之星最新版手游

元梦之星最新版手游

棋牌卡牌 下载
我自为道安卓版

我自为道安卓版

角色扮演 下载
一剑斩仙

一剑斩仙

角色扮演 下载