update()
一个便捷的辅助函数,它会运行 record(),执行你的 DOM 变动,并调用 animate(),可以进行可选的覆盖。
这可能在某些框架中不起作用(我还没有测试所有框架)。
如果动画无法使用 .update() 正常工作,请使用手动 record() / .animate() 组合。
参数
- 一个回调
Function用于更新布局 - 一个可选的
Object,用于覆盖此特定过渡的默认布局时间设置和缓动效果。
返回
时间轴
update() 代码示例
import { createLayout, utils } from 'animejs';
const [ $button ] = utils.$('.controls button');
const layout = createLayout('.layout-container');
function animateLayout() {
// Triggers both layout.record() and layout.animate()
layout.update(() => {
const first = layout.root.firstElementChild;
if (first) layout.root.append(first);
}, {
duration: 750,
ease: 'out(4)',
});
}
$button.addEventListener('click', animateLayout);
<div class="large layout centered row">
<div class="layout-container col grid-layout row">
<div class="item col">Item 1</div>
<div class="item col">Item 2</div>
<div class="item col">Item 3</div>
</div>
</div>
<div class="medium row">
<fieldset class="controls">
<button class="button">update()</button>
</fieldset>
</div>