Vue的动画使用

依然范特西╮ 提交于 2019-11-30 03:58:36

关于Vue动画基本使用原理见下图:

现在利用语法1(css版)做一个简单的动画效果,其中translate是移动动画效果,scale是缩放动画效果:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script type="text/javascript" src="js/vue.min.js" ></script>
		<style>
			div{
				width: 200px;
				height: 200px;
				line-height: 200px;
				text-align: center;
				color:aliceblue;
				border-radius: 50%;
				background: cadetblue;
				margin: 50px;
				transition: all 2s;
			}
			.dh-transition{
				opacity: 1;
				transform:translate(0px) scale(1.6);
				-webkit-transition:translate(0px) scale(1.6);
				
			}
			.dh-leave{
				opacity: 0;
				transform:translateX(90px) scale(1.1) ;
				-webkit-transform:translateX(90px) scale(1.1);
				background: darkseagreen; 
				
			}
			.dh-enter{
				opacity: 1;
				transform:translateY(90px) scale(1.1);
				-webkit-transform:translateY(90px) scale(1.1);
				background: silver; 
				
			}
		</style>
	</head>
	<body>
		<button @click="add">点击动画效果</button>
		<div transition="dh" v-show="show">我是个调皮的圆</div>
		<script>
			new Vue({
				el:"body",
				data:{
					show:true
				},
				methods:{
					add:function(){
						this.show=!this.show
					}
				}
			})
		</script>
	</body>
</html>

效果图如下(因为是动图,所以这样看效果时间有点快,还有这画质有点感人呀,果然是个调皮的圆,喜欢的可以尝试下做其他的动画效果感受下):

然后语法2(vue.js版),我引用了animate.css插件,稍微感受一下来自animate.css插件使用感,简单的介绍它吧,animate.css是一个来自国外的 CSS3 动画库,它预设了抖动(shake)、闪烁(flash)、弹跳(bounce)、翻转(flip)、旋转(rotateIn/rotateOut)、淡入淡出(fadeIn/fadeOut)等多达 60 多种动画效果,几乎包含了所有常见的动画效果。插件可以到github上去下载,里面预设了很多种常用的动画,然后可以在https://daneden.github.io/animate.css/网站查看各种动画的演示效果,使用也很简单,因为它是把不同的动画绑定到了不同的类里,所以我们想要使用哪种动画的时候,只需要简单的把那个相应的类添加到元素上就行了(当然最重要的是不要忘记引用下载好的插件文件啦)。

代码奉上:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<link rel="stylesheet" href="css/animate.min.css" />
		<script type="text/javascript" src="js/vue.min.js" ></script>
		<style>
			div{
				width: 200px;
				height: 200px;
				line-height: 200px;
				text-align: center;
				color:aliceblue;
				border-radius: 50%;
				background: cadetblue;
				margin: 50px;
				
			}
			.dh-transition{
				background: darkseagreen;
				
			}
			
		</style>
	</head>
	<body>
		<button @click="add">点击动画效果</button>
		<div transition="dh" v-show="show" class="animated">我是个调皮的圆</div>
		<script>
			new Vue({
				el:"body",
				data:{
					show:true
				},
				methods:{
					add:function(){
						this.show=!this.show;
					}
				},
				transitions:{
					dh:{
						enterClass:"bounceInRight",
						leaveClass:"jello"
					}
				}
			})
		</script>
	</body>
</html>

其效果如下:

好了,今天就先分享到这吧,学无止境,自身还有很多不足的地方,望每天都是元气满满的一天,加油!

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!