ICT30016-Assignment-3/node_modules/motion-dom/dist/es/scroll/observe.mjs
dlawler489 a79a6afd34 intial
intial
2025-09-16 12:09:52 +10:00

18 lines
542 B
JavaScript

import { frame, cancelFrame } from '../frameloop/frame.mjs';
function observeTimeline(update, timeline) {
let prevProgress;
const onFrame = () => {
const { currentTime } = timeline;
const percentage = currentTime === null ? 0 : currentTime.value;
const progress = percentage / 100;
if (prevProgress !== progress) {
update(progress);
}
prevProgress = progress;
};
frame.preUpdate(onFrame, true);
return () => cancelFrame(onFrame);
}
export { observeTimeline };