jr-util
Version:
这是MJR的JS工具库。定期更新
23 lines (22 loc) • 540 B
JavaScript
const p = (l, u, a, e) => {
let t = l;
const r = Date.now(), m = (u - l) / a;
let n = null;
function c() {
if (n === null)
return;
const i = Date.now() - r;
if (i >= a) {
t = u, e && e({ value: t, percent: 1 }), n = null;
return;
}
t = l + m * i, e && e({ value: t, percent: Number((i / a).toFixed(2)) }), n = requestAnimationFrame(c);
}
const o = () => {
n !== null && (cancelAnimationFrame(n), n = null);
};
return n = requestAnimationFrame(c), o;
};
export {
p as animation
};