进入起始
定义应用于进入布局的元素的初始属性和过渡时间。
如果满足以下任一条件,则认为元素正在进入
- 元素从
display: none变为可见 - 元素从
visibility: hidden变为可见 - 元素刚刚被添加到布局中(例如
$root.appendChild($el))
可接受的属性
可以设置任何有效的 CSS 属性。
状态动画目前不支持 CSS transform 简写。
enterFrom: { x: 100, y: 200 } // Invalid
enterFrom: { transform: 'translate(100px, 200px)' } // Valid
接受
一个带有以下属性的 Object 参数
- CSS 属性名称:
Number|String|Function delay:Number|Functionduration:Number|Functionease:String|Function
默认值
{ opacity: 0 }
enterFrom 代码示例
import { createLayout, utils } from 'animejs';
const [ $button ] = utils.$('.controls button');
const layout = createLayout('.layout-container', {
duration: 250,
ease: 'outQuad',
enterFrom: {
transform: 'translateY(100px) scale(.25)',
opacity: 0,
duration: 350, // Applied to the elements entering the layout
ease: 'out(3)' // Applied to the elements entering the layout
}
});
let count = 0;
function addItem() {
layout.update(({ root }) => {
const $item = document.createElement('div');
$item.classList.add('item', 'col');
$item.innerHTML = ++count;
if (count > 15) return $button.disabled = true;
root.appendChild($item);
});
}
$button.addEventListener('click', addItem);
<div class="large layout centered row">
<div class="layout-container col grid-layout row">
</div>
</div>
<div class="medium row">
<fieldset class="controls">
<button class="button">Add item</button>
</fieldset>
</div>