<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Vue中的Js动画与Velocity.js的结合</title><script src="./vue.js"></script><script src="./velocity.min.js"></script> </head> <body> <div id="root"><transition name="fade"@before-enter="handleBeforeEnter"@enter="handleEnter"@after-enter="handleAfterEnter"><div v-show="show">hello world</div></transition><button @click="handleClick">toggle</button> </div> <script>var vm = new Vue({el: '#root',data: {show: true},methods: {handleClick: function () {this.show = !this.show},handleBeforeEnter: function (el) {el.style.opacity =0;},handleEnter: function (el, done) {Velocity(el,{opacity:1},{duration:1000,complete:done})},handleAfterEnter: function (el) {console.log('动画结束')}}}) </script> </body> </html><!-- 入场动画钩子函数:@before-enter @enter @after-enter 出场动画钩子函数:@before-leave @leave @after-leave velocity.min.js是js动画库 -->
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Vue中的Js动画与Velocity.js的结合</title><script src="./vue.js"></script><script src="./velocity.min.js"></script> </head> <body> <div id="root"><transition name="fade"@before-enter="handleBeforeEnter"@enter="handleEnter"@after-enter="handleAfterEnter"><div v-show="show">hello world</div></transition><button @click="handleClick">toggle</button> </div> <script>var vm = new Vue({el: '#root',data: {show: true},methods: {handleClick: function () {this.show = !this.show},handleBeforeEnter: function (el) {el.style.opacity =0;},handleEnter: function (el, done) {Velocity(el,{opacity:1},{duration:1000,complete:done})},handleAfterEnter: function (el) {console.log('动画结束')}}}) </script> </body> </html><!-- 入场动画钩子函数:@before-enter @enter @after-enter 出场动画钩子函数:@before-leave @leave @after-leave velocity.min.js是js动画库 -->