<body><div id="app"> <input type="button" value="加入购物车" @click="flag=!flag"> <transition @before-enter="beforeEnter" @enter="enter" @after-enter="afterEnter"> <div class="ball" v-show="flag"></div> </transition></div><script> // 半场动画的最佳实践 // 创建 Vue 实例,得到 ViewModel var vm = new Vue({ el: '#app', data: { flag: false }, methods: { beforeEnter(el) { // 设置小球的位置 el.style.transform = 'translate(0, 0)' }, enter(el, done) { el.offsetWidth el.style.transform = 'translate(100px, 200px)' el.style.transition = 'all 0.5s ease' done() }, afterEnter(el) { // this.flag = this.flag } } });</script></body>为啥“enter(el, done)”函数中需要写el.offsetWidth,如果不写,过渡效果就没法实现?
添加回答
举报
0/150
提交
取消