如何根据浏览器的滚动位置单步执行 GIF 动画?

How to step through a GIF animation based on the browser's scroll position?

我有一个 GIF,我将在我正在构建的 React 网络应用程序中使用它。我希望能够根据网站的滚动位置逐步播放动画。 IE。当我滚动页面的 50% 时,我希望 gif 在其 50% 的位置显示图像。 gif 将在 div、position:fixed 中。所以它将永远存在于浏览器的右上角。

Web 应用程序是一个 React 应用程序,所以如果有一个 React 库可以实现它,那就太好了。

谢谢!

似乎至少有一个现成的 React 实现来处理 GIF 的交互 with/playing,这可能会在您的项目中为您提供帮助。

React Gif Player 是一个 React 组件,它创建一个类似于 Facebook 实现的 GIF 播放器。它还带有一个 pause 函数(和一个示例),您可以使用它根据您的滚动位置以编程方式在相应的点暂停 GIF。

Gif Frames 是一个纯粹的 JavaScript 工具,用于提取 GIF 帧并保存到文件。您也许能够创建单独的框架并与滚动的某些点相对应。

我不知道有哪个 gif 播放器可以完全实现您所希望的,尽管其他人可以在这方面提供帮助。如果没有,您可能需要组合使用,或者自己进行完整实施。

希望这对您有所帮助。