snap()
将 Number 四舍五入到最接近的指定 增量 ,或创建具有预定义 增量 参数的捕捉 Function。
如果提供 Array 作为增量,它将从数组中选择最接近的值。
const snappedValue = utils.snap(value, increment);
const snapperFunction = utils.snap(increment);
参数
| 名称 | 接受 |
|---|---|
| value (opt) | Number |
| increment | Number | Array<Number> |
返回
如果提供了值,则为 Number,否则为一个可链式调用的实用 工具 Function,用于将数字调整到最近的 增量 或数组值:
const snapTo10 = utils.snap(10);
snapTo10(94); // 90
snapTo10(-17); // -20
const snapToArray = utils.snap([0, 50, 100]);
snapToArray(30); // 50
snapToArray(75); // 100
snapToArray(-10); // 0
const clampAndSnap = utils.clamp(0, 100).snap(30);
clampAndSnap(72.7523); // 60
clampAndSnap(120.2514); // 90 snap() 代码示例
import { animate, utils } from 'animejs';
animate('.normal', {
rotate: '1turn',
duration: 3000,
loop: true,
ease: 'inOut',
});
animate('.snapped', {
rotate: '1turn',
modifier: utils.snap(.25), // Used as a modifier
duration: 3000,
loop: true,
ease: 'inOut',
});
<div class="x-large spaced-evenly row">
<div class="col">
<div class="clock normal"></div>
<div class="label">normal</div>
</div>
<div class="col">
<div class="clock snapped"></div>
<div class="label">snapped (.25)</div>
</div>
</div>