Animate.css 一款强大的预设css3动画库
前端笔记 2017-01-04 13:24:31 前端笔记   JS插件   

 

VUE项目引入

官网:https://animate.style/

安装:

C/C++ Code复制内容到剪贴板
  1. npm install animate.css --save  

或者

C/C++ Code复制内容到剪贴板
  1. yarn add animate.css  

 

引入样式,可以在需要的页面里引入,也可以全局引入:

C/C++ Code复制内容到剪贴板
  1. 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 被移除),在过渡/动画完成之后移除。

 

XML/HTML Code复制内容到剪贴板
  1. <h1 class="animate__animated animate__bounce">An animated element</h1>  

 

 


 

 

1、首先引入animate css文件

XML/HTML Code复制内容到剪贴板
  1. <head>  
  2.   <link rel="stylesheet" href="animate.min.css">  
  3. </head>  

 

2、给指定的元素加上指定的动画样式名

XML/HTML Code复制内容到剪贴板
  1. <div class="animated bounceOutLeft"></div>  

这里包括两个class名,第一个是基本的,必须添加的样式名,任何想实现的元素都得添加这个。第二个是指定的动画样式名。

 

3、如果说想给某个元素动态添加动画样式,可以通过jquery来实现:

JavaScript Code复制内容到剪贴板
  1. $('#yourElement').addClass('animated bounceOutLeft');  

 

4、当动画效果执行完成后还可以通过以下代码添加事件

JavaScript Code复制内容到剪贴板
  1. $('#yourElement').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', doSomething);  

 

你也可以通过 JavaScript 或 jQuery 给元素添加这些 class,比如:

PHP Code复制内容到剪贴板
  1. $(function(){  
  2.     $('#jq').addClass('animated bounce');  
  3. });  

 

有些动画效果最后会让元素不可见,比如淡出、向左滑动等等,可能你又需要将 class 删除,比如:

JavaScript Code复制内容到剪贴板
  1. $(function(){  
  2.     $('#jq').addClass('animated bounce');  
  3.     setTimeout(function(){  
  4.         $('#jq').removeClass('bounce');  
  5.     }, 1000);  
  6. });  

 

animate.css 的默认设置也许有些时候并不是我们想要的,所以你可以重新设置,比如:

JavaScript Code复制内容到剪贴板
  1. #jq{  
  2.     animate-duration: 2s;    //动画持续时间  
  3.     animate-delay: 1s;    //动画延迟时间  
  4.     animate-iteration-count: 2;    //动画执行次数  
  5. }  

 

本文来自于:http://www.yoyo88.cn/note/frontend/64.html

Powered by yoyo苏ICP备15045725号