EnterAnimation 进场动画
通过简单的配置对一组元素添加串行的进场动画效果。
何时使用
- 从内容A到内容B的转变过程时能有效的吸引用户注意力,突出视觉中心,提高整体视觉效果。 
- 小的信息元素排布或块状较多的情况下,根据一定的路径层次依次进场,区分维度层级,来凸显量级,使页面转场更加流畅和舒适,提高整体视觉效果和产品的质感。 
API
元素依次进场。
<EnterAnimation>
  <div key='demo'>
    <div>依次进场</div>
    <div>依次进场</div>
    <div>依次进场</div>
    <div>依次进场</div>
  </div>
</EnterAnimation>如子节点有 enter-data 值,则只执行有 enter-data 的节点的动画,相反所有子节点上都没有 enter-data 值,则执行遍历 dom 下一级节点来执行动画。
<EnterAnimation enter={type:'left',delay:2}>
  <div key='demo'>
    <div>
      <div enter-data>
        依次进场
      </div>
    </div>
    <div enter-data>依次进场</div>
    <div enter-data={{type: 'bottom'}}>依次进场,并修改动画效果</div>
    <div>没有动画</div>
  </div>
</EnterAnimation>| 参数 | 类型 | 默认值 | 详细 | 
|---|---|---|---|
| enter | object | {type:'right'} | 管理进场数据 | 
| leave | object | null | 管理当前元素出场的数据, null 时继承 enter 里的所有标签的值 | 
| component | string | div | EnterAnimation 替换的标签名 | 
enter = {} | leave = {}
| 参数 | 类型 | 默认值 | 详细 | 
|---|---|---|---|
| type | string | right | 内置动画样式: alphaleftrighttopbottomscalescaleBigscaleXscaleY | 
| style | object / string | null | 同上, style 的样式动画, type有值,此项无效。如 {transform:'translateX(100px)'}或'transform: translateX(100px)' | 
| duration | number | 0.5 | 每个动画的时间,以秒为单位 | 
| ease | string | cubic-bezier(0.165, 0.84, 0.44, 1); | 样式缓动,只支持 css 样式缓动; | 
| delay | number | 0 | 整个区块的延时,以秒为单位 | 
| reverse | boolean | false | 是否倒放,从最后一个 dom 开始往上播放 | 
| interval | number | 0.1 | 递增延时值,以秒为单位 | 
| callback | function | null | 动画结束回调 | 
一级标签key:
| 参数 | 类型 | 详细 | 
|---|---|---|
| key | string | 必需,控制进出场; | 
子标签
| 参数 | 类型 | 默认值 | 详细 | 
|---|---|---|---|
| enter-data | object | {type:'right'} | 子标签进场参数 | 
| leave-data | object | enter-data | 子标签出场参数 | 
enter-data = {} | leave-data = {}
| 参数 | 类型 | 默认值 | 详细 | 
|---|---|---|---|
| type | string | right | 同标签里的 type,覆盖标签里的值 | 
| style | object / string | null | 同标签里的 style,覆盖标签里的值 | 
| duration | number | 0.5 | 同标签里的 duration,覆盖标签里的值 | 
| ease | string | cubic-bezier(0.165, 0.84, 0.44, 1) | 同标签里的 ease,覆盖标签里的值 | 
| delay | number | 0 | 当前动画的延时,依照结构递增以上的 interval | 
| queueId | number | 0 | 动画的线程 | 
由于使用了 CSS3 动画,所以
IE9及更早的版本将没有进场效果。