vue中的js动画和velocity.js库20

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>vue中的js动画和velocity.js</title>
		<script src="vue.js"></script>
		<script src="velocity.js"></script>
	</head>
	<body>
		<div id="app">
			<!-- 使用vue的js钩子结合velocity.js实现一个透明度渐变的效果 -->
			<!-- 1:定义js钩子函数 -->
			<transition
				@before-enter="handleBeforeEnter"
				@enter="handleEnter"
				@after-enter="handleAfterEnter"
			>
				<div v-if="show">hello world</div>
			</transition>
			<button type="button" @click="handleBtn">出现/隐藏</button>
		</div>
		<script>
			var vm=new Vue({
				el:'#app',
				data:{
					show:true
				},
				/* 2:实现钩子函数 */
				methods:{
					handleBtn:function(){
						this.show=!this.show
					},
					handleBeforeEnter:function(el){
						/* el.style.color="red"进入前颜色变为红色 */
						el.style.opacity=0;/* 进入之前透明度为0 */
					},
					handleEnter:function(el,done){
						/* setTimeout(()=>{
							el.style.color="green"
						},2000)进入后两秒变为绿色
						setTimeout(()=>{
							done()
						},4000) 四秒后动画结束*/
						
						/* 3:使用velocity.js让动画执行1S然后透明度变为1 */
						Velocity(el,{
							opacity:1
						},{
							duration:1000,/* 动画执行1S */
							complete:done
						})
					},
					handleAfterEnter:function(el){
						/* el.style.color="black"动画完成后变为黑色 */
						alert('handleAfterEnter')
					}
				}
			})
		</script>
	</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值