vue动画特效

1.在public下的index.html文件下引入动画库animate.css

<!DOCTYPE html>
<html lang="">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width,initial-scale=1.0">
  <link rel="icon" href="<%= BASE_URL %>favicon.ico">
  <title>
    <%= htmlWebpackPlugin.options.title %>
  </title>
  <!-- 引入动画库 -->
  <link href="https://cdn.jsdelivr.net/npm/animate.css@3.5.1" rel="stylesheet" type="text/css">
</head>

<body>
  <noscript>
    <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
        Please enable it to continue.</strong>
  </noscript>
  <div id="app"></div>
</body>
</html>

2.在组件TransitionDemo.vue里引入动画类名

<template>
  <div class="hello">
    <button v-on:click="show = !show">Toggle</button>
    <!-- 引入动画特效 -->
    <transition 
      name="custom-classes-transition" 
      enter-active-class="animated tada"
      leave-active-class="animated bounceOutRight">
      <p v-if="show">hello</p>
    </transition>
  </div>
</template>

3.使用gsap实现数字动画效果

<template>
	<div>
		<div>---状态过渡动画---</div>
    	<div>
    		<input v-model.number="number" type="number" step="20">
      		<p>{{animatedNumber}}</p>
   		</div>
   	</div>
 </template>
export default {
	data() {
    	return {
     		number: 0,
     	 	tweenedNumber: 0
    	}
  	},
  	computed: {
    	animatedNumber: function () {
      		return this.tweenedNumber.toFixed(0)
    	}
  	},
  	watch: {
    	number: function (newValue) {
        	window.gsap.to(this.$data, {duration: 0.5,tweenedNumber: newValue})
    	}
  	}
}

应用场景
1.组件中的动效
2.路由动画
如果实在 react 中,我们可以选用react-spring,思路类似

常用动画相关库
大家可以在工作中选用以下动画相关库实现动效。
gsap
animated.css
tween.js

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值