The Wayback Machine - https://web.archive.org/web/20201216025501/https://github.com/brunnolou/keyframe
Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
lib
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Keyframe

A simple tiny keyframe utility for custom animation.

npm version 0 dependencies

Install

npm install --save keyframe

or

yarn add keyframe

Usage

Pass an object witch every key is the keyframe from 0 to 100.

Each keyframe is a function that will be called during the keyframe interval. Each passed function is cached and runs only once when the value is the same.

And will return a function to run through the keyframes progress.

const run = keyframe({
  50: (d) => update(d),
  100: (d) => update(d),
});

run(0);    // 0
run(0.25); // 0.5
run(0.5);  // 1
run(0.75); // 0.5
run(1);    // 1

Example

import keyframe from 'keyframe';

...

const moveTo = (x, y) => {
  div.style.transform = `translate(${x}px, ${y}px)`;
};

// From (0% -> 50%) move the div left 150px
// then from (50% -> 100%) move the div up 50px.
const onSliderUpdate = keyframe({
  // d is the duration between 0% -> 50%.
  50: d => moveTo(d * 150, 0),

  // d is the duration between 50% -> 100%.
  100: d => moveTo(150, d * -50),
});

// Return range between 0 and 1.
DOMslider.addEventListener('input', () => onSliderUpdate(slider.value / 100), true);

Check the examples/ folder to see full examples.

Or check out the DEMO page

Development

yarn install

yarn run dev

Test

yarn test

About

A simple keyframe utility for custom animation

Topics

Resources

License

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.