高性能的滚动驱动帧序列动画库,让你的网页体验更加生动
本演示的动画素材来源于 Adaline
使用 OffscreenCanvas 预渲染所有帧,运行时直接绘制 ImageBitmap,确保丝滑的滚动体验。
通过 frameMapper 函数自定义滚动像素到帧索引的映射关系,完全控制动画节奏。
完整的 TypeScript 类型定义,提供优秀的开发体验和代码智能提示。
支持水平/垂直滚动、事件系统、错误处理等丰富的配置选项,满足各种使用场景。
内置精美的加载动画,在图片预处理期间为用户提供视觉反馈,提升用户体验。
独创的 large 参数优化策略,采用分层递进式加载,优先加载关键帧实现快速预览,后台继续加载完整细节帧,大幅提升大型动画的启动速度。
import ScrollFrameCanvas from '@byte.n/scroll-frame-canvas';
const player = new ScrollFrameCanvas({
total: 100,
imageFactory: async (i) => `./frames/frame-${i}.jpg`,
canvasEle: document.getElementById('canvas'),
scrollbarEle: window,
scrollAxis: 'y',
frameMapper: (scrollPixels) => Math.round(scrollPixels / 10),
onInitComplete: () => console.log('Ready!')
});
player.init().then(() => player.play());