vue动画

为什么要有动画:动画能够提高用户的体验,帮助用户更好的理解页面中的功能;

  •         v-enter   v-enter-active   v-enter-to 
  •         v-leave   v-leave-active   v-leave-to 
  •         v-enter     【这是一个时间点】 是进入之前,元素的起始状态,此时还没有开始进入 
  •        v-leave-to 【这是一个时间点】 是动画离开之后,动画离开的终止状态,此时,元素 动画已经结束了

一  自定义实现动画

1. 使用 transition 元素(Vue 官方提供的),把 需要被动画控制的元素,包裹起来。不然 不能动。

    使用transition完成任何元素进入/离开的过渡组件需要满足下列条件:

  •              1.1条件渲染(v-if)
  •              1.2条件展示(v-show)
  •              1.3动态组件
  •              1.4组件根节点

2. 自定义两组样式,来控制 transition 内部的元素实现动画

<style>
		    .v-enter,
		    .v-leave-to {
		      opacity: 0;
		      transform: translateX(150px);
		    }
		
		    .v-enter-active,
		    .v-leave-active{
		      transition: all 0.8s ease;
		    }
		  </style>

3.vm实例

1. HTML结构:

		<div id="app">
		    <input type="button" value="动起来" @click="myAnimate">
		    <!-- 使用 transition 将需要过渡的元素包裹起来 -->
		    <transition name="fade">
		      <div v-show="isshow">动画哦</div>
		    </transition>
		  </div>

2. VM 实例:

		// 创建 Vue 实例,得到 ViewModel
		var vm = new Vue({
		  el: '#app',
		  data: {
		    isshow: false
		  },
		  methods: {
		    myAnimate() {
		      this.isshow = !this.isshow;
		    }
		  }
		});

3. 定义两组类样式:

		/* 定义进入和离开时候的过渡状态 */
		    .fade-enter-active,
		    .fade-leave-active {
		      transition: all 0.2s ease;
		      position: absolute;
		    }
		
		    /* 定义进入过渡的开始状态 和 离开过渡的结束状态 */
		    .fade-enter,
		    .fade-leave-to {
		      opacity: 0;
		      transform: translateX(100px);
		    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

良之才-小良

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值