<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="./lib/vue-2.4.0.js"></script>
<style>
.ball {
width: 15px;
height: 15px;
border-radius: 50%;
background-color: red;
}
</style>
</head> <body>
<div id="app">
<input type="button" value="快到碗里来" @click="flag=!flag">
<!-- 1. 使用 transition 元素把 小球包裹起来 -->
<!-- 动画钩子函数的三个阶段 为每个阶段设置一个执行动画函数 -->
<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: {
// 注意: 动画钩子函数的第一个参数:el,表示 要执行动画的那个DOM元素,是个原生的 JS DOM对象
// 大家可以认为 , el 是通过 document.getElementById('') 方式获取到的原生JS DOM对象
beforeEnter(el){
// beforeEnter 表示动画入场之前,此时,动画尚未开始,可以 在 beforeEnter 中,设置元素开始动画之前的起始样式
// 设置小球开始动画之前的,起始位置
el.style.transform = "translate(0, 0)",
console.log('动画开始---')
},
enter(el, done){
// 注意:这句话,没有实际的作用,但是,如果不写,出不来动画效果;
// 可以认为 el.offsetWidth 会强制动画刷新
el.offsetWidth
// enter 表示动画 开始之后的样式,这里,可以设置小球完成动画之后的,结束状态
el.style.transform = "translate(150px, 450px)"
el.style.transition = 'all 5s ease',
console.log('动画执行中---')
// 这里的 done, 起始就是 afterEnter 这个函数,也就是说:done 是 afterEnter 函数的引用
done()
},
afterEnter(el){
// 动画完成之后,会调用 afterEnter
// console.log('ok')
this.flag = !this.flag
console.log('动画执行完---')
}
}
});
</script>
</body> </html>

最新文章

  1. Web前端开发高手进阶
  2. 编译2.4.X apache 常见错误
  3. Salesforce 动态审批
  4. 免费而优秀的图表JS插件
  5. 为opencv贡献代码
  6. js中的eval()和catch()
  7. input美化 checkbox和radio样式
  8. 利用mysqld_multi启动管理多实例
  9. json-lib反序列化时(JSONObject.toBean),时间类型为空的处理
  10. maven多配目配置总结
  11. 黑马程序员_Java面向对象1_封装
  12. SharePoint BCS
  13. hdu4758 Walk Through Squares 自动机+DP
  14. Xcode-之Alcatraz
  15. SpringMVC中Json数据格式转换
  16. 配置ubuntu
  17. mysql批量修改列名为小写
  18. 02-Introspector内省设置单个属性
  19. python windows 下pip easy_install 使用错误的问题
  20. 最基本的CentOS 网络配置

热门文章

  1. 【JZOJ3299】【SDOI2013】保护出题人 三分+凸壳
  2. 【JZOJ3296】【SDOI2013】刺客信条(assassin)
  3. DirectX11笔记(八)--Direct3D渲染4--VERTEX SHADER
  4. 洛谷 P1073 最优贸易 最短路+SPFA算法
  5. ubuntu更新问题
  6. xml入门与解析
  7. closest和parents方法区别
  8. Java练习 SDUT-2728_最佳拟合直线
  9. 应用node-webkit(NWJS)把BS架构的网址封装成桌面应用
  10. UVa 10520【递推 搜索】