VUE项目引入
安装:
- npm install animate.css --save
或者
- yarn add animate.css
引入样式,可以在需要的页面里引入,也可以全局引入:
- import 'animate.css';
我们可以通过以下 attribute 来自定义过渡类名:
enter-from-class
enter-active-class
enter-to-class
leave-from-class
leave-active-class
leave-to-class
vue项目中需要通过transition元素实现动画效果
transition元素在vue中作为单个元素/组件的过渡效果。transition元素只会把过渡效果应用到其包裹的内容上,而不会额外渲染 DOM 元素,也不会出现在可被检查的组件层级中。
transition元素在进入/离开的过渡中,会有 6 个 class 切换。
v-enter-from:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。
v-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。
v-enter-to:定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时 v-enter-from 被移除),在过渡/动画完成之后移除。
v-leave-from:定义离开过渡的开始状态。在离开过渡被触发时立刻生效,下一帧被移除。
v-leave-active:定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡/动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。
v-leave-to:离开过渡的结束状态。在离开过渡被触发之后下一帧生效 (与此同时 v-leave-from 被移除),在过渡/动画完成之后移除。
- <h1 class="animate__animated animate__bounce">An animated element</h1>
1、首先引入animate css文件
- <head>
- <link rel="stylesheet" href="animate.min.css">
- </head>
2、给指定的元素加上指定的动画样式名
- <div class="animated bounceOutLeft"></div>
这里包括两个class名,第一个是基本的,必须添加的样式名,任何想实现的元素都得添加这个。第二个是指定的动画样式名。
3、如果说想给某个元素动态添加动画样式,可以通过jquery来实现:
- $('#yourElement').addClass('animated bounceOutLeft');
4、当动画效果执行完成后还可以通过以下代码添加事件
- $('#yourElement').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', doSomething);
你也可以通过 JavaScript 或 jQuery 给元素添加这些 class,比如:
- $(function(){
- $('#jq').addClass('animated bounce');
- });
有些动画效果最后会让元素不可见,比如淡出、向左滑动等等,可能你又需要将 class 删除,比如:
- $(function(){
- $('#jq').addClass('animated bounce');
- setTimeout(function(){
- $('#jq').removeClass('bounce');
- }, 1000);
- });
animate.css 的默认设置也许有些时候并不是我们想要的,所以你可以重新设置,比如:
- #jq{
- animate-duration: 2s; //动画持续时间
- animate-delay: 1s; //动画延迟时间
- animate-iteration-count: 2; //动画执行次数
- }