UNPKG

jjb-lc-designable

Version:

基于alibaba-designable源码二次封装的表单设计器。

33 lines (32 loc) 823 B
export const createUniformSpeedAnimation = (speed = 10, callback) => { let request = null; let startTime = null; const start = () => { if (request) return; request = requestAnimationFrame(timestamp => { if (startTime === null) { startTime = timestamp; } const deltaTime = timestamp - startTime; const delta = deltaTime / 1000 * speed; callback(delta); request = null; start(); }); }; start(); return () => { if (request) { cancelAnimationFrame(request); request = null; } startTime = null; }; }; //越接近阈值,速度越小,越远离阈值,速度越大 export const calcSpeedFactor = (delta = 0, threshold = Infinity) => { if (threshold >= delta) { return (threshold - delta) / threshold; } return 0; };