🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

TinyAnimate

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

TinyAnimate

Animation microlib. Vanilla JavaScript. Uses `requestAnimationFrame()` if available, falls back to `setTimeout()`.

0.4.0
latest
Source
npm
Version published
Weekly downloads
229
-17.63%
Maintainers
1
Weekly downloads
 
Created
Source

TinyAnimate

Animation micro library. Vanilla JavaScript, includes a global and UMD. Minified to only 3.8kb. Uses requestAnimationFrame() if available, falls back to setTimeout().

Supports all the easings you can find on easings.net, and custom easing functions.

Download ZIP | npm version

Examples

Animating a CSS style:

var square = document.querySelector('.square');
TinyAnimate.animateCSS(square, 'marginLeft', 'px', 10, 70, 500, 'easeInOutQuart', function() {
    console.log('done!!!111oneone');
});

Animating the 'x' property on an SVG element:

var square = document.querySelector('.square');
TinyAnimate.animate(70, 10, 1000, function(x) {
    square.setAttribute('x', x);
});

Using Require.js, changing the opacity of a rgba color:

define(['TinyAnimate'], function(TinyAnimate) {
    var elem = document.querySelector('button.send');
    elem.addEventListener('click', function(e) {
        TinyAnimate.animate(1, .5, 500, function(opacity) {
            square.style.backgroundColor = 'rgba(65, 131, 196, ' + opacity + ')';
        });
    });
});

Usage

Interface

  • TinyAnimate.animate(from, to, duration, update, easing, done)
    • from (int) — Property value to animate from
    • to (int) — Property value to animate to
    • duration (int) — Duration in milliseconds
    • update (function) — Function to implement updating the DOM, get's called with a value between from and to
    • easing (string | function) — Optional: A string when the easing function is available in TinyAnimate.easings, or a function with the signature: function(t, b, c, d) {...}
    • done (function) — Optional: To be executed when the animation has completed.
  • TinyAnimate.animateCSS(element, property, unit, from, to, duration, easing, done)
    • element (HTMLElement) — A dom node
    • property (string) — Property name, as available in element.style, i.e. 'borderRadius', not 'border-radius'
    • unit (string) — Property unit, like 'px'
    • from (int) — Property value to animate from
    • to (int) — Property value to animate to
    • duration (int) — Duration in milliseconds
    • easing (string | function) — Optional: A string when the easing function is available in TinyAnimate.easings, or a function with the signature: function(t, b, c, d) {...}
    • done (function) — Optional: To be executed when the animation has completed.
  • TinyAnimate.cancel(animation)
    • animation (object) - Animation object returned from animate or animateCSS.

Easings

All the easings found at easings.net are supported. I suggest you strip out all the easings you do not use in production to keep the bytes down. If you don't specify an easing, or specify an incorrect easing, the default linear easing will be used.

It's also possible to specify the easing as a function. Read more about creating easing functions manually here and here.

requestAnimationFrame

It uses the unprefixed version of requestAnimationFrame, if available. You can however include a polyfill as well, if you need to support more browsers. See caniuse.com/requestanimationframe for more detailed browser support, everthing that needs a prefix will only use requestAnimationFrame whenever a polyfill has been included. If window.requestAnimationFrame is not found, setTimeout() will be used.

A polyfill for requestAnimationFrame is included in the project, but you are not required to use it. Choose wisely.

License

Released under the MIT license.

FAQs

Package last updated on 23 Nov 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts