All Projects → aliaszz → AniX

aliaszz / AniX

Licence: other
🐿 Super easy and lightweight(<3kb) JavaScript animation library

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to AniX

Vue Motion
Easy and natural state transitions
Stars: ✭ 373 (+47.43%)
Mutual labels:  motion, transition
Droidmotion
🏂 Implementation of a simple android motion
Stars: ✭ 200 (-20.95%)
Mutual labels:  motion, transition
Use Web Animations
😎 🍿 React hook for highly-performant and manipulable animations using Web Animations API.
Stars: ✭ 802 (+217%)
Mutual labels:  motion, transition
Anix
🐿 Super easy and lightweight(<3kb) JavaScript animation library
Stars: ✭ 239 (-5.53%)
Mutual labels:  motion, transition
Element Motion
Tween between view states with declarative zero configuration element motions for React
Stars: ✭ 828 (+227.27%)
Mutual labels:  motion, transition
use-spring
Hooke's law hook
Stars: ✭ 53 (-79.05%)
Mutual labels:  motion, transition
vue-router-view-transition
Properly time out-in transitions with scrollBehavior
Stars: ✭ 38 (-84.98%)
Mutual labels:  transition
transitionable-routes
Perform transitions when changing routes with React Router
Stars: ✭ 26 (-89.72%)
Mutual labels:  motion
pymetawear
Community developed SDK around the Python bindings for the C++ SDK
Stars: ✭ 42 (-83.4%)
Mutual labels:  motion
dpar
Neural network transition-based dependency parser (in Rust)
Stars: ✭ 41 (-83.79%)
Mutual labels:  transition
awesome-ha-blueprints
A curated collection of automation blueprints for Home Assistant.
Stars: ✭ 258 (+1.98%)
Mutual labels:  motion
web-animation-club
CSS controlled animations with transitionEnd, onTransitionEnd, animationend, onAnimationEnd events and frame throwing. Tiny javascript library with cross-browser methods to handle css animation/transition callbacks and event loop frame throwing. 📚🖥️📱
Stars: ✭ 52 (-79.45%)
Mutual labels:  css-transitions
django-logic
Django Logic - easy way to implement state-based business logic with pure functions
Stars: ✭ 44 (-82.61%)
Mutual labels:  transition
repmo-vim
Repeat motions [for which a count was given]
Stars: ✭ 36 (-85.77%)
Mutual labels:  motion
react-layout-transition
Trying to make layout transitions simple
Stars: ✭ 57 (-77.47%)
Mutual labels:  transition
utransition
A tiny (~2KB) library providing you an easy way to manage time-based transitions
Stars: ✭ 22 (-91.3%)
Mutual labels:  transition
HeartRateMeasure
Video based Heart rate measure
Stars: ✭ 31 (-87.75%)
Mutual labels:  motion
preact-motion
A fork of React-Motion to be used with Preact
Stars: ✭ 28 (-88.93%)
Mutual labels:  motion
drain-js
Makes smooth transitions between two numbers.
Stars: ✭ 45 (-82.21%)
Mutual labels:  transition
Ease-Transitions-System
Unity system to easily test and apply ease transitions/tweens to component values
Stars: ✭ 31 (-87.75%)
Mutual labels:  transition

A super easy and lightweight javascript animation library.


Overview

AniX is a lightweight and easy-to-use animation library with excellent performance and good compatibility for modern browsers.

It uses the native css transition attribute, better than js simulation animation performance. And you can also enable hardware acceleration with it.

AniX only less than 3k(gzip) in size. It achieves almost the same effect as any other huge library of animations.

View demo, please click here.

code

Install and Include

Install and Import anix.

$ npm install anix --save-dev
...

import { AniX } from 'anix';

Use the umd version anix.umd.js. Check out the UMD repository for more details.

<script src="./js/anix.umd.ts" type="text/javascript"></script>

Use jQuery plugin anix.jq.js, that supports chain syntax.

<script src="./js/jquery.min.js" type="text/javascript"></script>
<script src="./js/anix.jq.js" type="text/javascript"></script>

Usage

Basic usage.

AniX.to(dom, 1, {
  x: 300,
  y: 10,
  scale: 2,
  delay: 0.5,
  onComplete: function() {
    alert('over');
  },
});

// or
AniX.to(dom, 1, {
  width: '200px',
  'background-color': '#ffcc00',
  ease: AniX.ease.easeOutBack,
  onComplete: () => {
    //STATE : COMPLETED!
    console.log('STATE : COMPLETED!');
  },
});

jQuery plug-in usage anix.jq.js

$('.demo')
  .css({ left: '0px' })
  .to(0.5, {
    left: '500px',
    'background-color': '#ffcc00',
  });

Use in react(v16+)

class MyComponent extends React.Component {
  constructor(props) {
    super(props);
    this.myRef = React.createRef();
    this.clickHandler = this.clickHandler.bind(this);
  }

  clickHandler(e) {
    const node = this.myRef.current;
    // animation
    AniX.to(node, 1, {
      x: 300,
      y: 10,
      scale: 2,
    });
  }

  render() {
    return (
      <div>
        <div ref={this.myRef} />
        <button onClick={this.clickHandler}></button>
      </div>
    );
  }
}

Why?

There are a lot of animation libraries Why use AniX?

  • First of all, it is very small and 3kb (gzip) is very suitable for use on the mobile page (because there is a requirement for size).

  • Secondly, Anix directly uses native css animation properties, which is very high performance.

  • Good compatibility, after a lot of real machine tests, good performance. Includes a variety of android devices

Documentation

General documents please visit https://adajuly.github.io/AniX/

jQuery plug-in documents are as follows

//like AniX.to
$(..).to(time: number, args: {ease?:string; delay?:number; [propName:string]:any;})

//like AniX.fromTo
$(..).fromTo(time: number, fromArgs: Object, toArgs: Object)

//like AniX.kill
$(..).kill(complete?: boolean)

//like AniX.get
$(..).getTransform(param: any)

//like AniX.ease
$.ease.easeOut

Test and Build

install and build all task

git clone [email protected]:adajuly/AniX.git
npm install
npm run all

build jquery or umd version

npm run jq
npm run umd

demo example (the document page) is used create-react-app

cd ./example
npm install
npm start
npm run build

Then open http://localhost:3000/

Use test cases

view the ./test/test.html

Other

There are other versions here, of course, they are not necessary. React version and Vue version...

License

The MIT License.

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].