1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Vue中的动画</title> 6 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/animate.css@3.5.2/animate.min.css"> 7 <style> 8 .fade-enter, 9 .fade-leave-to { 10 opacity: 0; 11 } 12 .fade-enter-active, 13 .fade-leave-active { 14 transition: opacity 3s; 15 } 16 </style> 17 </head> 18 <body> 19 <div id="app"> 20 <!--1.设置appear appear-active-class设置页面初次打开时的动画 21 2.animated的动画时长为1s, 过渡时长为3s, 22 在transition标签里设置type="transition"则以transition的时间为准 23 3.或者时长自定义:在transition标签设置:duration='10000',动画时长即为10s, 24 enter和leave时间可以分开设置:duration='{enter: 5000, leave: 10000}' 25 --> 26 <transition 27 name="fade" 28 appear 29 :duration='10000' 30 enter-active-class="animated swing" 31 leave-active-class="animated shake" 32 appear-active-class="animated swing"> 33 <div v-if="show">hello world</div> 34 </transition> 35 <button @click="handleBtnClick">change</button> 36 </div> 37 38 39 <!-- 开发环境版本,包含了用帮助的命令行警告 --> 40 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> 41 <script type="text/javascript"> 42 43 var app = new Vue({ 44 el: '#app', 45 data: { 46 show: true 47 }, 48 methods: { 49 handleBtnClick: function() { 50 this.show = !this.show; 51 } 52 } 53 }) 54 55 </script> 56 </body> 57 </html>