Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gmrchk/kinet

Kind of a most lightweight animation library of all. Changes value with that spring effect, but keeps the rest to you.
https://github.com/gmrchk/kinet

Last synced: about 1 month ago
JSON representation

Kind of a most lightweight animation library of all. Changes value with that spring effect, but keeps the rest to you.

Awesome Lists containing this project

README

        

# Kinet
Kind of a most lightweight animation library of all. Kinet lets you animate with that spring effect so you can use the values wherever you need to.

## Installation
Include Kinet with scripts tag

```html

```
or with *npm* and *import*
```shell
npm install kinet --save
```
```javascript
// import needed modules from npm
import Kinet from 'kinet';
```

## Options
Kinet accepts several options defined as follows.
```javascript
var options = { option: "value" }
var kinet = new Kinet(options);
```

### friction
Recommended value 0-1. Default value is `0.3`.

### acceleration
Recommended value 0-1. Default value is `0.04`.

### initialValue
Sets the initial value of `current` and `target` variables in animated instances.

### names
Array of names (strings). Kinet creates animated instance for each name. Defaults to single `x` value in array.

### test
Function testing whether the animation has finished. Function gets and animated instance as an argument.
When test function returns false for all animated instances, Kinet stops the animation and sets values to target values.

```javascript
// default value
test: function (instance) {
return Math.abs(instance.current - instance.target) > 0.1;
}
```

## Methods
```javascript
var kinet = new Kinet({name: ["x", "y"]});
```

### set
Sets value of current and target of animated instance to required value without animating.
```javascript
var kinet = new Kinet();
kinet.set("x", 10); // sets to number 10
```

### animate
Animates value of current variable of animated instance to target value without animating.
```javascript
var kinet = new Kinet();
kinet.animate("x", 10); // animates to number 10
```

### on
Sets handler for event. Available events are `start` (called at start of animation), `end` (called at the end of animation) and `tick` (called for every tick of animation).
Tick is called with `requestAnimationFrame` as the `current` value progresses to `target` value.
```javascript
// init
var kinet = new Kinet();

// set handler
kinet.on('tick', function () {
// do something on every animation tick
});
```

### off
Removes handler.
```javascript
kinet.off('tick', handler); // removes single handler
kinet.off('tick'); // removes all handlers for 'tick' event
kinet.off(); // removes all handlers
```