<!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/jquery2.1.4.min.js"></script>
<script src="./lib/Vue2.5.17.js"></script>
<link href="https://cdn.bootcss.com/animate.css/3.7.0/animate.css" rel="stylesheet">
<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">
<!-- 使用transition元素把小玩包起来 -->
<transition
@before-enter="beforeEnter"
@enter="enter"
@after-enter="afterEnter"
>
<div class="ball" v-show="flag"></div>
</transition>
</div>
<script>
var vm = new Vue({
el : '#app',
data : {
flag : false
},
methods: {
//注意,动画钩子函数的第一个参数:el表示要执行动画的那个DOM元素,是个原生的JS对象。
beforeEnter(el){
//beforeEnter表示动画入场之前,此时动画尚未开始可以在beforeEnter中设置元素开始动画之前的起始样式。
//设置小球开始动画之前的起始位置
el.style.transform = 'translate(0,0)'
},
enter(el,done){
//设置过渡
el.offsetWidth
//enter表示动画开始之后的样式,这里可以设置小球完成动画之后的结束状态
el.style.transform = 'translate(150px,450px)'
el.style.transition = 'all 1s ease'
//这里的done其实就是afterEnter这个函数,也就是说done是一个函数的引用
done()
},
afterEnter(el){
console.log('aaa');
this.flag = !this.flag
},
},
})
</script>
</body>
</html>
 
<!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/jquery2.1.4.min.js"></script>
<script src="./lib/Vue2.5.17.js"></script>
<link href="https://cdn.bootcss.com/animate.css/3.7.0/animate.css" rel="stylesheet">
<style>
.ball {
width: px;
height: px;
border-radius: %;
background-color: red;
}
</style>
</head>
<body>
<div id="app">
<input type="button" value="加入" @click="flag=!flag">
<!-- 使用transition元素把小玩包起来 -->
<transition
@before-enter="beforeEnter"
@enter="enter"
@after-enter="afterEnter"
>
<div class="ball" v-show="flag"></div>
</transition>
</div>
<script>
var vm = new Vue({
el : '#app',
data : {
flag : false
},
methods: {
//注意,动画钩子函数的第一个参数:el表示要执行动画的那个DOM元素,是个原生的JS对象。
beforeEnter(el){
//beforeEnter表示动画入场之前,此时动画尚未开始可以在beforeEnter中设置元素开始动画之前的起始样式。
//设置小球开始动画之前的起始位置
el.style.transform = 'translate(0,0)'
},
enter(el,done){
//设置过渡
el.offsetWidth
//enter表示动画开始之后的样式,这里可以设置小球完成动画之后的结束状态
el.style.transform = 'translate(150px,450px)'
el.style.transition = 'all 1s ease'
//这里的done其实就是afterEnter这个函数,也就是说done是一个函数的引用
done()
},
afterEnter(el){
console.log('aaa');
this.flag = !this.flag
},
},
})
</script>
</body>
</html>
<!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/jquery2.1.4.min.js"></script>
<script src="./lib/Vue2.5.17.js"></script>
<link href="https://cdn.bootcss.com/animate.css/3.7.0/animate.css" rel="stylesheet">
<style>
.ball {
width: px;
height: px;
border-radius: %;
background-color: red;
}
</style>
</head>
<body>
<div id="app">
<input type="button" value="加入" @click="flag=!flag">
<!-- 使用transition元素把小玩包起来 -->
<transition
@before-enter="beforeEnter"
@enter="enter"
@after-enter="afterEnter"
>
<div class="ball" v-show="flag"></div>
</transition>
</div>
<script>
var vm = new Vue({
el : '#app',
data : {
flag : false
},
methods: {
//注意,动画钩子函数的第一个参数:el表示要执行动画的那个DOM元素,是个原生的JS对象。
beforeEnter(el){
//beforeEnter表示动画入场之前,此时动画尚未开始可以在beforeEnter中设置元素开始动画之前的起始样式。
//设置小球开始动画之前的起始位置
el.style.transform = 'translate(0,0)'
},
enter(el,done){
//设置过渡
el.offsetWidth
//enter表示动画开始之后的样式,这里可以设置小球完成动画之后的结束状态
el.style.transform = 'translate(150px,450px)'
el.style.transition = 'all 1s ease'
//这里的done其实就是afterEnter这个函数,也就是说done是一个函数的引用
done()
},
afterEnter(el){
console.log('aaa');
this.flag = !this.flag
},
},
})
</script>
</body>
</html>

Vue系列之 => 模拟购物车添加小球动画的更多相关文章

  1. Vue系列之 => 使用第三方animated.css动画

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 关于购物车添加按钮的动画(vue.js)

    来自:https://segmentfault.com/a/1190000009294321 (侵删) git 源码地址  https://github.com/ustbhuangyi/vue-sel ...

  3. vue.js加入购物车小球动画

    生成一个动画小球的div,并且生成五个小球,五个是为了生成一定数量的小球来作为操作使用,按照小球动画的速度,一般来说五个也可以保证有足够的小球数量来运行动画 动画的内容分别是外层和内层,外层控制动画小 ...

  4. 使用vue模拟购物车小球动画

    使用vue模拟购物车小球动画 1.效果演示 2.相关代码 <!DOCTYPE html> <html lang="en"> <head> < ...

  5. vue 2.0 + 如何实现加入购物车,小球飞入的动画

    github源码地址:https://github.com/13476075014/node-vue/tree/master/mynodeproject/13.sell/sell 在移动端经常会有加入 ...

  6. Vue实现购物车小球动画

    思路: 1.因页面分组件分的比较细,由图可知是组件5到组件4的联动. 如果利用组件间通信需要 子组件5 -->组件3-->所有组件的父组件-->组件4, 层级略显复杂,所以使用了vu ...

  7. Vue系列(二):发送Ajax、JSONP请求、Vue生命周期及实例属性和方法、自定义指令与过渡

    上一篇:Vue系列(一):简介.起步.常用指令.事件和属性.模板.过滤器 一. 发送AJAX请求 1. 简介 vue本身不支持发送AJAX请求,需要使用vue-resource.axios等插件实现 ...

  8. Vue系列(三):组件及数据传递、路由、单文件组件、vue-cli脚手架

    上一篇:Vue系列(二):发送Ajax.JSONP请求.Vue生命周期及实例属性和方法.自定义指令与过渡 一. 组件component 1. 什么是组件? 组件(Component)是 Vue.js ...

  9. Android至ViewPager添加切换动画——使用属性动画

    转载请注明出处:http://blog.csdn.net/allen315410/article/details/44200623 ViewPager作为Android最经常使用的的组件之中的一个.相 ...

随机推荐

  1. visual stodio 编译前后动作定制总结

    copy "$(TargetDir)$(TargetName).lib" ..\lib\deploy\$(TargetName).lib 编译完成后将一个.lib 文件拷贝到指定目 ...

  2. Django 发送电子邮件

    官方片段: 虽然Python使得通过smtplib 模块发送电子邮件相对容易,但Django提供了一些轻量级包装.提供这些包装器是为了使发送电子邮件更加快速,以便在开发过程中轻松测试电子邮件发送,并为 ...

  3. unittest框架assert断言

    Pthon内部自带了一个单元测试的模块,\ pyUnit也就是:unittest 先介绍下unittest的基本使用方法: 1.import unittest2.定义一个继承自unittest.Tes ...

  4. file 选取文件/文件夹

    一般网页上传文件大家都会用到这个标签 <input type="file" id="file_input"/> 我们可以通过这个标签选取文件,使用j ...

  5. struts2 中的 addActionError 、addFieldError、addActionMessage的方法【转】

    一.addActionError("错误内容"):  Action级别的错误消息this.addActionError("错误信息1");this.addAct ...

  6. tomcat 的acceptCount、acceptorThreadCount、maxConnections、maxThreads 如何确定

    acceptCount 连接在被ServerSocketChannel accept之前就暂存在这个队列中,acceptCount就是这个队列的最大长度. ServerSocketChannel ac ...

  7. 【SQL】group by 和order by 的区别。

    group by 分组,比如group by name.那么重复name就显示一遍,即同样内容归类显示一遍. group by ……having……——(where 后不可以接聚合函数,而having ...

  8. 更改配置:远程访问gitlab的postgresql数据库

    作为这篇文章的补充: 将gitlab中的postgresql数据库开通远程访问 https://www.cnblogs.com/andy9468/p/10609682.html 替代(二)中的2.3. ...

  9. Laravel上传产品图片Uploading img

    这节我们讲Laravel产品图片上传,有很多方式可以实现,这里我们用intervention/image插件来进行.首先安装intervention/image插件,在命令行输入 composer r ...

  10. MySQL表操作及数据操作

    表操作 表相当于一个文件,其形式与现实中的表格相同.表中的每条记录都有相应的字段,字段就类似于表格的表头. 表操作详细: #对表进行操作(文件) #首先要切换到指定库(即文件夹)下:use db1; ...