1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 7 <title>vue动画</title> 8 <script src="./lib/jquery2.1.4.min.js"></script> 9 <script src="./lib/Vue2.5.17.js"></script> 10 <!-- 2,自定义两组样式,来控制tranition内部的元素实现动画 --> 11 <style> 12 /* v-enter 是进入之前,元素的起始状态,此时还没有开始进入动画 */ 13 /* v-leave-to 是动画离开之后,离开的终止状态,此时元素动画已经结束 */ 14 .v-enter,.v-leave-to{ 15 opacity: 0; 16 transform:translateX(150px); 17 } 18 /* v-enter-active 入场动画的时间段 */ 19 /* v-leave-active 离场动画时间段*/ 20 .v-enter-active,.v-leave-active{ 21 transition: all 0.8s ease; 22 } 23 /* 另外一组 算定义v-前缀 toptodown */ 24 .toptodown-enter,.toptodown-leave-to{ 25 opacity: 0; 26 transform:translateY(150px); 27 } 28 .toptodown-enter-active,.toptodown-leave-active{ 29 transition: all 0.8s ease; 30 } 31 </style> 32 </head> 33 <body> 34 <!-- <div id="app"> 35 <input type="button" value="toggle" @click="flag=!flag"> 36 <h3 v-if="flag">这是一个h3</h3> 37 </div> --> 38 <div id="app"> 39 <input type="button" value="toggle" @click="flag=!flag"> 40 <!-- 1,使用transition元素,把需要被动画控制的元素包裹 --> 41 <!-- transition元素是vue官网提供的 --> 42 <transition> 43 <h3 v-if="flag">这是一个h3</h3> 44 </transition> 45 <div class="a"> 46 <input type="button" value="toggle2" @click="flag2=!flag2"> 47 <!-- 此处算定义transition name属性值为toptodown --> 48 <transition name="toptodown"> 49 <h4 v-if="flag2">这是一个h4</h4> 50 </transition> 51 </div> 52 </div> 53 <script> 54 // new的vue实例,会控制这个元素 55 var vm = new Vue({ 56 el: '#app', 57 data: { 58 flag: false, 59 flag2: false 60 }, 61 methods: { } 62 }); 63 </script> 64 </body> 65 </html>
Vue系列之 => 动画
猜你喜欢
转载自www.cnblogs.com/winter-shadow/p/10176459.html
今日推荐
周排行