svelte/animate
svelte/animate
模块导出一个用于 svelte 动画的函数。
filp
animate:flip={params}
flip
函数计算元素的开始和结束位置,并通过转换x
、y
坐标对他们设置动画。flip
主张的是First,Last,Invert,Play。
flip
接受下面这些参数:
delay
(number
,默认 0) - 开始前的毫秒数duration
(number
|function
, 默认d => Math.sqrt(d) * 120
) - 参见下文easing
(function
,cubicOut
) - 缓动函数duration
可以通过下面任一形式定义:- 一个
number
,以毫秒为单位 - 一个函数,
distance: number => duration: number
,接受distance
的元素将以像素为单位进行移动,并以毫秒为单位返回持续的时间。支持指定相对于每个元素移动的持续时间。
<script>
import { flip } from 'svelte/animate';
import { quintOut } from 'svelte/easing';
let list = [1, 2, 3];
</script>
{#each list as n (n)}
<div animate:flip="{{delay: 250, duration: 250, easing: quintOut}}">
{n}
</div>
{/each}
你可以在 animate tutorial 看到完整的示例。