freezeframe.js

Pauses animated .gifs and enables them to animate on mouse event, touch event, or with trigger / release functions.


Keywords
.gif, pause, freeze, freezeframe, gifs, javascript, react, react-freezeframe, typescript, vue, vue-freezeframe
License
MIT
Install
bower install freezeframe.js

Documentation

Freezeframe.js

npm version Coverage Status Size License: MIT

Freezeframe.js is a library that pauses animated .gifs and enables them to animate on mouse hover / mouse click / touch event, or triggered manually.

4.x

Version 4+ is built with modern javascript in mind. It's transpiled with webpack/babel, so it should work in most environments, but we are no longer supporting the jquery plugin.

If you want to use freezeframe as a jquery plugin, check out freezeframe v3.0.10.

Packages

This is a lerna.js monorepo, containing the following packages:

Documentation

To get started with freezeframe, head over to the core freezeframe package.

To use freezeframe with Vue.js, check out the vue-freezeframe docs.

React users should give react-freezeframe a try.

How it works

For the curious, we are able to pause animated gifs by writing their data to a canvas element. Only the first frame of the animation can be written to the canvas, so we now have a frozen version of the gif.

Contributing

  • Fork or clone the repository.
  • Install lerna
npm install -g lerna
  • Install the monorepo dependencies
npm install
  • Install the sub-package dependencies
lerna bootstrap --hoist
  • Run tests for all sub-packages
npm test
  • If you are part of the ctrl-freaks organization, you can publish directly to npm:
lerna publish

Otherwise, submit your PR for review.

License

freezeframe.js is released under the terms of the MIT License.

Thanks