Motionia is a lightweight simplified on demand animation library

Overview

Alt Text

The Ultimate & smart JS animation library!
GitHub stars GitHub license


Simple fast , flexible & easy to integrate. No need to write page long CSS Keyframes that consumes a lot of time and no need to waste a lot on their customizations.

Introduction

Motionia.js is a advanced JS library built with the aim of simplicity and customisablilty.

Rich Api for all your animation needs in pure javascript , forget traditional method of writing page long css keyframes to animate elements, use the new way the motionia way!

head towards the Docs: https://motionia.netlify.app for more details.

No need of using any kind of Scroll library, motionia is independent => No dependencies.

The library is built with best code practices resulting in slow load , loads in 1.3 seconds only!

Alright, so explain me in 30 secs what it is actually?

Wanna save time? then just animate elements by adding data attributes.

Alt Text

<div data-motionia='fadeIn'> hi!, i am a fading in text! :)
 div>

With a tons of customizations to elements such as delay , duration , repeat , easing , direction etc parameters.

all by using data attributes to html parametric elements itself.

Need to animate elements using js for some reasons? then just use like:

var myAnim = new motionia() 
// initialize motionia.js

myAnim.mo({
targets: '#div',
anim: 'rollLeft'
duration: '5s'
})
// targets can be any html parametric element and 
// then customize according to your needs!
// using simple JSON like structure.

Where to get?

Alt Text

Motionia on github

Experiment with it here

Alt Text

Documentation

Docs: https://motionia.netlify.app

Go through the docs to get to know everything about the library.

Examples

Visit my codepen for motionia.js examples and demos and to grasp easily what motionia can actually do.

Alt Text

Installations

Just add a script path of motionia via JSDELIVR into the head of your project

">
<script src="https://cdn.jsdelivr.net/gh/abhiprojectz/motionia@latest/dist/motionia.js" defer>script>

Usage

We have a svg with id as mysvg now we wanna animate it such that animations triggers when it appears in viewport.

Alt Text

add a rolling effect from left rollleft

Alt Text

Set a delay of 5s

This is just a small example.

The animation will be triggered as soon as the element appers inside the viewport.

Note: if you want to trigger element using js then refer the section below.

<div data-mationia='rollLeft' data-delay='5s'> rolling from
 left div>

The supported animation property is a shorthand property which can be accessed for:

  • Animation-name
  • Animation-duration
  • Animation-timing-function
  • Animation-delay
  • Animation-iteration-count
  • Animation-direction
  • Animation-fill-mode
  • Animation-play-state

Refer documentations for more details.

Sliding a element right by 200px

No keyframes straight forward text parameters.

use anim name slide as data-motionia='slide' then specify amount that is data-right='200px' & over!

<div data-motionia='slide' data-right='200px'>i slide by 200px rightdiv>

Alt Text

Using js syntax for advanced usage.

You can also trigger animation inside a function like onclick , ontouch etc or maybe as a result of a function.

Pre-built anims , which uses simple syntax makes it easy to decorate our project easily & without any dependencies.

First of all initialize motionia.jsa

var myAnim = new motionia() 
// initialize motionia.js

Now you can create a object and pass parameters in it to customize the anim.

use .mo method to pass parameters

myAnim.mo({
targets: '#div',
anim: 'rollLeft'
duration: '5s'
})

You can also overrides targets on every object no need to initialize motionia more than once.

Alt Text

Ideas

Many other animation library doesn't provide us built animations but motionia.js do.

Trigger it when elements visible in viewport or trigger on a click using easy JS setup.

The .mo({}) method quite works as a timeline feature.

So, keep going animating by a line.

For brief explanation refer docs.

Alt Text

Documentation

grab the docs here: docs of motionia

BONUS!

Now comes the MAIN part!

The best thing of motionia.js is mixing up of anims.

So , it totally depends on your creativity of how you mix the animations.

To rotate & then make a element bigger in size use:

data-motionia='rotateScaleIn' we just mixed the animations name.

Alt Text

Features at a glance

  • 30+ base animations.
  • Animation property customizations.
  • Easy Scroll builtin animation triggering.
  • Mixing Of animations increases the no. of built-in animations thus, makes it lightweight.
  • JSON structure customization.
  • NO dependencies
  • Tested on all major browsers.

Alt Text

Contribute

Docs: https://motionia.netlify.app

This is very important do fork it right now and come up with your ideas!

Stargazers repo roster for @abhiprojectz/motionia

Forkers repo roster for @abhiprojectz/motionia

Alt Text

Comments
  • Hardcoded version of jQuery automatically included

    Hardcoded version of jQuery automatically included

    IMO jQuery as a dependency should not be added automatically by the library itself.

    You could update the docs and make it required to run your lib or even better: use vanillajs to handle html/css changes :)

    opened by mzieba 1
  • Keep the source code unminified

    Keep the source code unminified

    Hi, I'm guessing that you have minified the code in the "src" folder. If you could keep it unminified, it would make it easier to fork and contribute to the library. You could use minifyjs or uglifyjs or a similar tool to store the minified version in the "dist" folder while keeping the code in the src folder easier to read.

    opened by Saunved 1
  • Fix spelling errors, remove extra whitespace, fix formatting

    Fix spelling errors, remove extra whitespace, fix formatting

    This is a simple fix for README.md fixing spelling, grammar, formatting (e.g., extra backticks around code), and clarity.

    It should improve readability, apply more consistent formatting between sections, and remove some confusion around certain features.

    opened by bost-ty 0
  • Fix Examples link on index

    Fix Examples link on index

    Examples link on the index was pointing to https://abhiprojectz.io/Examples.html rather than https://abhiprojectz.github.io/motionia/Examples.html, which initially made me think there was no examples before I looked at the source.

    opened by mueller-alex 0
  • Linked Sites are down?

    Linked Sites are down?

    Neither of the linked sites are pulling up for me. Perhaps temporary, but worth mentioning.

    https://gitrate.herokuapp.com/ = No Such App

    ╠$> curl https://anicode.in/motionia/
    curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to anicode.in:443
    
    opened by r-i-c-h 1
Releases(v2.0)
  • v2.0(Mar 7, 2021)

    There has been a lot of changes in the motionia.js

    • Added both modes custom utilities classes customizations
    • Ability to group the animations
    • Trigger either dynamically (using js functions) or statically.
    • Furnished Documentation.
    Source code(tar.gz)
    Source code(zip)
  • v1.0(Jun 4, 2020)

Owner
Abhi
I'm a Full-stack web, Python developer!
Abhi
Animation library build on top of web animation API (WAAPI)

unanime.js Javascript animation library build on top of web animation API (WAAPI). Learn more about WAAPI: Web animation API Documentation Blog Daniel

Clément Laval 3 Jun 21, 2022
I made countdown birthday and fireworks animation using HTML Canvas, CSS, JS. The fireworks animation gonna come out once the countdown is finished or in other words, "Birthday Time".

Countdown-Birthday-Fireworks-Animation I made countdown birthday and fireworks animation using HTML Canvas, CSS, JS. The fireworks animation gonna com

Mahardika Bayu S.B 19 Dec 31, 2022
A JavaScript animation plugin for menus. It creates a div that moves when you mouse over an element, giving it an elastic animation.

Lava-Lamp Description: A JavaScript animation plugin for menus. It creates a div that moves when you mouse over an element, giving it an elastic anima

Richard Hung 38 Jun 4, 2022
An on-demand peer tutoring platform by students, for students.

OURFinals An on-demand peer tutoring platform by students, for students. Database The prisma/ folder contains: migrations/: Past database migrations (

Aditya Banerjee 3 Jan 6, 2022
This project is a Web application based on an external API. The API provides data about music (including artists, albums, etc) that users can access on-demand. This project was built with ES6, HTML and CSS and it is a SPA.

Capstone M2: Music App This project is a Web application based on the music API Napster built with ES6, HTML and CSS and it is a SPA. This API provide

Karla Delgado 12 Aug 29, 2022
On-demand runtime webpack compilations over HTTP.

webpack-http-server On-demand runtime webpack compilations over HTTP. Overview This package is, effectively, an Express server that exposes webpack co

Artem Zakharchenko 4 Oct 20, 2022
An unofficial, simplified version of the @Shopify/koa-shopify-auth middleware library.

simple-koa-shopify-auth https://www.npmjs.com/package/simple-koa-shopify-auth NOTE: This package is not maintained by or affiliated with Shopify. Desc

David 20 Nov 7, 2022
Simplified JavaScript Jargon

Simplified JavaScript Jargon (short SJSJ) is a community-driven attempt at explaining the loads of buzzwords making the current JavaScript ecosystem i

Kitty Giraudel 2.3k Dec 30, 2022
AWS Lambda and API Gateway, simplified for Javascript

alanajs AWS Lambda and API Gateway, simplified for JavaScript About alanajs Make setting up Lambda microservices easier than ever. alanajs is a free,

OSLabs Beta 64 Aug 1, 2022
Data-driven development, simplified.

CONTRACTUAL Table of Contents 0. Brief 1. Features 2. Installation 2.1 Download Installer 2.2 Fork and Clone Repo 3. How to Use 3.1 Contract Builder 3

OSLabs Beta 50 Nov 8, 2022
A simplified list crud that adds, removes and edits items

To-do list This project is as simplified todo list crud. Built With HTML CSS JavaScript Webpack Live version See live version Getting Started To get a

Fernando Saldaña 7 Apr 2, 2022
⚡ It is a simplified database module with multiple functions that you can use simultaneously with sqlite, yaml, firebase and json.

Prisma Database Developed with ?? by Roxza ⚡ An easy, open source database ?? Installation npm i prisma.db --save yarn add prisma.db ?? Importing impo

Roxza 21 Jan 3, 2023
🐬 A simplified implementation of TypeScript's type system written in TypeScript's type system

?? HypeScript Introduction This is a simplified implementation of TypeScript's type system that's written in TypeScript's type annotations. This means

Ronen Amiel 1.8k Dec 20, 2022
A simplified jQuery date and time picker

jSunPicker A simplified jQuery date and time picker Why another Date picker? There are numerous date, time pickers out there. However, each of those l

null 1 May 31, 2022
An overly simplified Angular tool for interacting with Smart Contracts, demod at ng-conf 2022.

AngularOperator This is a sample repo and tool created for ng-conf 2022. It contains a normal Angular app designed to interact with the blockchain. It

Stephen Fluin 8 Oct 7, 2022
REST API simplified.

Deepkit REST REST API simplified npm i \ @deepkit-rest/http-extension \ @deepkit-rest/rest-core \ @deepkit-rest/rest-crud Overview DeepKit REST

DeepKit REST 8 Dec 30, 2022
Lightweight Loading Animation

◼️ Features: ?? Easy to Use ?? Fast & Lightweight (0.5Kb) ?? No dependencies, built with VanillaJS ?? Tested in all modern browsers ◼️ Demo: https://b

Bruno Vieira 76 Sep 1, 2022
EggyJS is a Javascript micro Library for simple, lightweight toast popups focused on being dependency-less, lightweight, quick and efficient.

EggyJS EggyJS is a Javascript micro Library for simple, lightweight toast popups. The goal of this library was to create something that meets the foll

Sam 10 Jan 8, 2023
Javascript library for typing animation

typebot Javascript library for typing animation Usage: include <script src="typebot.js"></script> And in js new typebot(element,speed,delay,text,blink

Akshay 17 Oct 18, 2022