All Projects → anim8js → anim8js

anim8js / anim8js

Licence: MIT license
The ultimate animation library for javascript - animate everything!

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to anim8js

Phaser State Transition
State transition plugin for Phaser.js
Stars: ✭ 169 (+412.12%)
Mutual labels:  transition, pixijs
Transitioner
A library for dynamic view-to-view transitions
Stars: ✭ 2,049 (+6109.09%)
Mutual labels:  keyframe, transition
micell
A collection of functions for front-end development
Stars: ✭ 16 (-51.52%)
Mutual labels:  dom, easing
react-animations-from-scratch
medium.com/@alex_holachek/building-animations-in-react-from-scratch-c66a582c9b65
Stars: ✭ 19 (-42.42%)
Mutual labels:  transition
s2
A function for reactive web UI.
Stars: ✭ 43 (+30.3%)
Mutual labels:  dom
phantom
👻 A reactive DOM rendering engine for building UIs.
Stars: ✭ 16 (-51.52%)
Mutual labels:  dom
front-end-notes
前端课程学习笔记汇总
Stars: ✭ 57 (+72.73%)
Mutual labels:  dom
bassdrum
reactive, type safe components with preact and rxjs.
Stars: ✭ 44 (+33.33%)
Mutual labels:  dom
custom-easings-with-keyframes
🏃 Make custom non-cubic-bezier easings using keyframes and animations with this online css code generator.
Stars: ✭ 15 (-54.55%)
Mutual labels:  easing
fish
Pixi.js 开发微信小游戏示例
Stars: ✭ 37 (+12.12%)
Mutual labels:  pixijs
parsed-html-rewriter
A DOM-based implementation of Cloudflare Worker's HTMLRewriter.
Stars: ✭ 34 (+3.03%)
Mutual labels:  dom
Python
covers python basic to advance topics, practice questions, logical problems in python, web development using html, css, bootstrap, jquery, DOM, Django 🚀🚀. 💥 🌈
Stars: ✭ 29 (-12.12%)
Mutual labels:  dom
zig-wasm-dom
Zig + WebAssembly + JS + DOM
Stars: ✭ 81 (+145.45%)
Mutual labels:  dom
NiceDemo
iOS project, built on improved MVP architecture using Coordinator pattern for routing 😎
Stars: ✭ 54 (+63.64%)
Mutual labels:  transition
postcss-will-change-transition
PostCSS plugin to add will-change property after transition declarations
Stars: ✭ 15 (-54.55%)
Mutual labels:  transition
modulor-html
Missing template engine for Web Components
Stars: ✭ 36 (+9.09%)
Mutual labels:  dom
react-scrolling-color-background
background with color transitioning as you scroll, declarative and easy to setup
Stars: ✭ 53 (+60.61%)
Mutual labels:  transition
Pixel
A real-time collaborative canvas, inspired by Reddit Place
Stars: ✭ 26 (-21.21%)
Mutual labels:  easeljs
dom-inspector
Dom inspect like chrome dev tools.
Stars: ✭ 124 (+275.76%)
Mutual labels:  dom
attoparser
A tiny but fast java event-style markup parser.
Stars: ✭ 46 (+39.39%)
Mutual labels:  dom

logo

The ultimate javascript animation library. Animate everything - from HTML elements to objects like circles, sprites, or skeletons.

It's as easy as anim8( button ).play('tada ~0.5s 1.5s x4 z100ms ease-inout') - which plays the tada animation in 1.5 seconds after waiting 0.5 seconds 4 times with a 100 ms break in between using the easing function ease-inout.

Attributes can be animated along a path, by using spring forces, or physical forces. Attributes can be animated together or separately. The values that define the paths, spring, and physical forces can be a constant value (ex: 0, {x:2, y:5}), a function which is evaluated during animation, a function which is evaluated at the beginning of an animation, the current value, or a value relative to the current value.

Download Stats

Documentation

Installation

  • Bower: bower install anim8js
  • Node: npm install anim8js
  • CDN: <script src="https://cdn.jsdelivr.net/npm/anim8js@1/build/anim8js.min.js"></script>
  • Download: anim8js or anim8js minified

Extensions

Features

  • Create your own animations
  • Play animations by name, name & modifiers, or by custom definition
  • Queue animations
  • Transition into a new animation in 6 different ways
  • Play multiple animations at once over different attributes
  • Springs forces on an attribute given some rest value
  • Sequential animations involving multiple subjects
  • Defer animation commands until an event occurs
  • Save animations to be used later
  • Modify animations with a delay, duration, repeats, sleeping between repeats, scale, and easing
  • Relative values (ex: '+20', '-100')
  • Apply physical forces (velocity and/or acceleration) to an attribute
  • An attribute can follow a path of points
  • Keyframe animations
  • Values used in paths, springs, and physics can be constants, functions that return a value at the beginning of the animation, functions that return a live value during the animation, or a value relative to the current value.

FAQ

What are valid animation durations, delays, & sleeps?

A number of milliseconds or a string with a number followed by any of the following units: ms, s, c, cs, third, jiffy, sec, m, min, h, hr

What are valid animation repeats?

A number or any of the following strings: inf, infinity, infinite, once, twice, thrice, dozen, random

What are valid easings?

  • A function which accepts a delta value and returns a new delta value.
  • A string which is the name of an existing easing in anim8.Easings.
  • A string in the format of easing-easingType where easing is an existing easing in anim8.Easings and easingType is an existing type in anim8.EasingsTypes like in, out, inout, or pong. An example is 'sqrt-inout'.
  • An array of 4 values which represent control points for a bezier curve.

How do I override any default values?

You can find the following defaults in anim8.Defaults:
duration, easing, teasing, delay, sleep, repeat, scale, transitionTime, transitionDelta, transitionIntoDelta, transitionEasing, cache

How do I add my own ______

  • Easing: anim8.Easings.myCustomEasing = function(x) { ... };
  • Path: anim8.Paths.myCustomPath = function(pathDefinition) { ... return instance of anim8.Path ... };
  • Spring: anim8.Springs.myCustomSpring = function(springDefinition) { ... return instance of anim8.Spring ... };
  • Builder: anim8.Builders.myCustomParser = instance of anim8.Parser;
  • Animation: anim8.save( 'myAnimationName', animation definition );
  • Calculator: anim8.Calculators.myCustomCalculator = instance of anim8.Calculator;
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].