vue第三天动画效果实现

本文深入探讨了Vue.js中动画效果的实现方式,包括使用原生JS和第三方库animate.css的方法,以及如何通过v-enter、v-leave-to、v-enter-active、v-leave-active等指令控制动画状态。同时,介绍了半程动画的周期性函数及其应用实例。
摘要由CSDN通过智能技术生成

动画效果
一.js实现
v-enter //模块在改变前的状态
v-leave-to //模块在改变后的状态

v-enter-active //模块在改变前的时间
v-leave-active //模块在改变后的时间

//想要控制的模块放在此标签中间

<input type=’’ vaule=’’ @click=’’> //type控制input的属性 vaule控制显示的内容 @click后面跟着绑定的函数

v-for 和 v-show //后面绑定布尔值决定展示内容是否隐藏

<style>//在style里写入动画前后状态
.v-enter,
.v-leave-to{
  opacity:0  //未进入是状态0
  transfrom: (150px) //未进入时位置
}

.v-enter-active,
.v-leave-active{
	transition:all 1s ease,  //all进入状态 1s动画事件  ease
}
</style>
<input type='button' value = '点击事件' @click='falg = !=falg'>//取反值
<transition>
	<h1 v-for|v-show=(data.flag:false)><h1>//绑定vue的data里falg数值决定隐藏属性
</transition>

二.引入第三方库animate完成动画效果
首先需要引入第三方库
通过标签

<link rel='stylesheet' href = 'https://unpkg.com/animate.css@3.5.2/animate.min.css'>

或者通过npm安装

npm install animate.css --save
npm i animate.css -S -D 

安装之后在标签内直接加上class="animated ********"就可以实现动画效果
//更多的动画效果以后尝试

<h1 class="animated bounceOut" v-show = 'fasg'>我是漂漂二号</h1>

三.半程动画需要写完整过程
js的动画是有前半段和后半段的两个周期性函数

v-on:before-enter = ‘beforeEnter’
v-on:enter = ‘Enter’
v-on:after-enter = ‘afterEnter’
v-on:enter-cancelled = ‘enterCancelled’ //暂时用不上
//周期性函数的前半段

v-on:before-leave = ‘beforeLeave’
v-on:leave = ‘Leave’
v-on:after-leave = ‘afterLeave’
v-on:leave-cancelled = ‘leaveCancelled’
//周期性函数后半段

//这是两个半程的动画效果组成了完整的动画效果

示例:

<style>
	.ball{
	weight:150px;
	height:150px;
	border-radius :50%;
	}
	//h1模块的css属性,让它作为一个球
	//border-radius是棱角的弧度
</style>
<input style = 'button' value = '点击事件' @click = 'flag = !flag'>
<transition
@before-enter = 'beforeEnter'
@enter = 'Enter'
@after-enter = 'afterEnter'
//这里没有用上 v-on:enter-cancelled = 'enterCancelled' 
//函数的后半段也没有用上
//@是v-on:的语法糖
//等号后面是metdos里的函数名,要去methos里创建函数
>
	<h1 class= 'ball' v-show = 'flag'></h1>
</transition>
//以上创建了一个点击事件

const app  =new vue ({
	el:'#app',//挂靠的属性,记得要加逗号不然会报错
	data:{
		flag:false;//目前只挂靠flag一个数值控制h1模块的显示和隐藏
				   //flag属性如果开始为true那么动画会在第二次消失是才出现
				   //同样别忘记逗号,代码的规范性
	},
	methods:{//methods,vue中放置函数的位置,不用在属性后加上function
			 //会默认为   变量名:function(){}
	beforeEnter(el){
		el.style.transfrom = translate(0,0)//el是函数里的值
											//style是小球的css属性即开始的位置
											//transition是控制的模块          
											//translate是小球的初始位置
	}
	Enter(el,done){
		el.offsertop  //不加这个会直接到底部,猜测是一直强行刷新动画
		el.style.transfrom = translate(150px,450px)//小球的最终位置
		el.style.transition = 'all 1s ease' //小球在1秒内平稳滑到既定位置
		done() //除了el还有一个done属性,可以让小球属性归零没有延迟
	}
	afterEnter(el){
		this.flag = !this.flag //最后把小球的属性归零,隐藏掉小球
	}
	}
})

这是第二天的内容,可能会有一些错误的内容,但是希望很长时间以后再看能给自己不一样的体会
路漫漫其修远兮,吾将上下而求索!
Hello World!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值