shuffle-animate
案例
演示
使用方法
安装
npm install shuffle-animate --save;
引入
import ShuffleAnimate from 'shuffle-animate';
实例化
配置DOM
1
2
3
4
5
6<div id='container'> // position: relative || absolute || fixed || sticky ......
<span data-i='1'>1</span> // data-i = 'string' 配置索引
<span data-i='2'>2</span>
<span data-i='3'>3</span>
...
</div>获取容器
const box = document.getElementById('container');
创建对象
const sa = new ShuffleAnimate({data: [...box.childrens]});
渲染
1
2
3
4
5
6
7
8
9sa.update({
target: <Number> || <Array>, // '1' || 1 目标值的索引
shuffle: <Boolean>, // true || false 是否随机排序, 否的话按正序排列
ease: <String>, // 'easeInOutCirc' 速度曲线, 可选见下文, 也可以自己定制化贝塞尔曲线
time: <String>, // `2000ms` `2s` 过渡时间
center: <Boolean>, // true || false 用此参数则target必填, 表示target块会先过渡到容器的中点(过渡到中点的时间=time), 然后再过渡到目标位置
});
以上参数都不是必填项 sa.update() 执行默认随机效果
可选动画曲线
1 | easeInSine: `cubic-bezier(0.47, 0, 0.745, 0.715)`, |
案例
1 | (() => { |