Accelerated JavaScript animation.

Related tags

Animations velocity
Overview

Velocity beta

npm npm (tag) cdnjs version npm downloads jsdelivr downloads

NPM: npm install velocity-animate@beta

Docs

https://github.com/julianshapiro/velocity/wiki

IMPORTANT: The velocityjs.org documentation refers to V1, not V2 beta - use the wiki for latest documentation!

News

WhatsApp, Tumblr, Windows, Samsung, Uber, and thousands of other companies rely on Velocity. Visit Libscore.com to see which sites use Velocity on their homepage.

React Plugin

Announcement: https://fabric.io/blog/introducing-the-velocityreact-library
Repo: https://github.com/twitter-fabric/velocity-react
NPM: https://www.npmjs.com/package/velocity-react

Quickstart

Velocity (CDN, choose one of them):

<script src="//cdn.jsdelivr.net/npm/[email protected]/velocity.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/velocity/2.0.6/velocity.min.js"></script>

Velocity UI pack (CDN, choose one of them):

<script src="//cdn.jsdelivr.net/npm/[email protected]/velocity.ui.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/velocity/2.0.6/velocity.ui.min.js"></script>

Please note that JSDelivr can automatically supply the latest release, while CloudFlare needs to ask for a specific version.

Package managers:

npm: npm install velocity-animate@beta

Automagic chaining:

If using the .velocity(...) chained function in libraries such as jQuery or Zepto you need to ensure that Velocity is loaded after them. If you wish to add it to anything loaded afterwards then look at the Velocity.patch() method.

Questions or Problems?

Ask on StackOverflow (make sure you add the [velocity.js] and the [javascript] or [typescript] tags).

Updates

  • 2.0: Typescript update and complete refactoring.
  • 1.5: Bugfixes, IE9 compatibility fixes.
  • 1.4: Pause / Resume (per element or global).
    Forcefed string animation (just have matching number spaces) including unit conversions and colour names (ie background:["rgba(red,0.1)", "blue"]). High resolution timers (animations should be slightly smoother).
    Various fixes including ticker (loading Velocity in a background window) and color handling.
  • 1.3: Code cleanup - no breaking changes known.
  • 1.2: Custom tweens. Custom easings. "Finish" command.
  • 1.0: File name changed to velocity.js. Read VelocityJS.org/#dependencies.
  • 0.1: stop now stops animations immediately (instead of only clearing the remainder of the animation queue). No other backwards-incompatible changes were made.

Learn

Comparisons

  • CSS transitions are meant for simple interface flourishes.
  • jQuery's $.animate() is slow and poorly-equipped for motion design.
  • Velocity is a fast, feature-rich standalone alternative to jQuery's $.animate().

License

MIT License. © Julian Shapiro (http://twitter.com/julian).

Sponsors

Kiss My Button sponsors Velocity's development.

BrowserStack provides browser testing services for Velocity.

Comments
  • Feedback wanted: VelocityJS.org Documentation

    Feedback wanted: VelocityJS.org Documentation

    I just updated the documentation panes on http://VelocityJS.org to include real-time CodePen demos.

    Beyond that, what else should be improved? Specifically, which panes contain unclear descriptions or simply lack sufficient detail?

    I do not plan on hosting the documentation on GitHub at this time (it'll result in too many PR's and I only have so much time), so please respond with your change requests as a comment in this thread, and I will promptly consider each and every request.

    Thank you so much in advance. One of my top priorities is great documentation, so this is very helpful to me :)

    Help wanted 
    opened by julianshapiro 50
  • [ FEEDBACK WANTED ] Velocity is dropping jQuery

    [ FEEDBACK WANTED ] Velocity is dropping jQuery

    @nmussy developed a shim for the jQuery functions that Velocity depends on. I'm now focusing my attention on releasing this work. (I waited until all core Velocity features landed, which they now have.)

    The shim works as follows:

    • The shim is loaded as a separate JS file before jquery.velocity.js. Velocity automatically detects the shim then uses it for some of its internal functions -- so long as jQuery isn't also present on the page, in which case Velocity will always default to using jQuery proper.
    • If the shim isn't loaded at all, jquery.velocity.js works exactly as it does now. No changes are being made to the core Velocity file. The shim's purpose is to simply act as a polyfill.
    • If the shim is loaded, you inherently can no longer chain onto jQuery element objects, e.g. $("div").velocity() won't work since you don't have access to jQuery's selector engine nor its chaining capabilities. Accordingly, all shimmed Velocity animation takes place via Velocity's utility function: http://velocityjs.org/#utilityFunction. Note that, when jQuery is loaded on the page, the utility function is normally an extension of jQuery's $ object. However, when jQuery isn't loaded (meaning, the shim is being used), the utility function is attached directly onto the window object and is therefore accessed simply via Velocity.animate(element, propertiesMap, options); This is the new syntax for animating with the jQuery-free version of Velocity.
    • If the shim has been loaded and Zepto (instead of jQuery) is loaded on the page, Velocity will attach itself to Zepto's $ and $.fn and will automatically work exactly like it already does with jQuery, e.g. $zeptoElement.velocity();. Without the shim, jquery.velocity.js currently does not work at all with Zepto.

    Questions for you guys:

    • Should the shim file be named velocity.jquery-shim.js, velocity.shim.js, or something else?
    • Should the shim not be a separate file? Instead, should the shim code be baked into Velocity itself, and then should jquery.velocity.js be renamed to simply velocity.js? Note that the shim has a minified size of 4Kb and that minified Velocity is currently at 30Kb.
    • An alternative to the above option is to have two versions of Velocity from here on out: velocity.js and jquery.velocity.js. One of them simply bakes in the shim code at the top. Accordingly, the shim itself would not be released as a separate file. (My concern with this option is that there starts to be a lot of download options for users, and I don't want to make them think twice about what file to use.)

    Notes:

    • There is no performance benefit to not using jQuery. jQuery was never a bottleneck for Velocity. Don't drop jQuery just because you want "increased speed."
    • Dropping jQuery and using the shim will only work for IE9+. IE8, which is normally supported by jquery.velocity.js, will not be supported in the shimmed version.
    • Since you'll inherently lose access to jQuery's delay() and queue() functions when not using jQuery, you'll want to replicate their behavior by leveraging Velocity's delay option as well as its begin/complete callbacks.

    Any questions, concerns, or comments?

    opened by julianshapiro 36
  • Feature: Pause/Resume

    Feature: Pause/Resume

    I wonder if https://github.com/tobia/Pause/blob/master/jquery.pause.js can be repurposed to wrap over $.velocity instead of $.animate to enable pausing/resuming velocity animations.

    opened by ngokevin 31
  • Question: Who requires SVG support?

    Question: Who requires SVG support?

    I'm considering adding support for SVG element animation. By default, neither jQuery, nor Transit, nor Velocity support this. Why? Because most CSS properties don't take effect on SVG elements; you have to tween their HTML attributes (e.g. width='100%') directly.

    CSS properties that already work by default for SVG elements: opacity, 2D transforms (all browsers except Safari desktop and mobile)

    What I'd be adding support for: transform (full browser support), x, y, width, height, cx, cy, r, rx, ry, x1, y1, x2, y2 -- basically, anything that's numerically tweenable.

    How it would work: Before an element is animated, there would be a check for node instanceof SVGElement. When Velocity detects this flag, it'll apply all properties directly to the SVG element's attributes instead of its style tag.

    So here's the question, who would use this? Better yet, is anyone dying for this to be implemented?

    I only consider this a valid consideration for Velocity if it helps people avoid having to load additional SVG animation libraries; if you still need whatever your current SVG solution is even once Velocity has integrated this support, then it's not worth supporting at all.

    opened by julianshapiro 29
  • Should Velocity continue to auto-remove transform values when they hit default values?

    Should Velocity continue to auto-remove transform values when they hit default values?

    Here is what I'm doing:

            $container
                .find('.pfentry__info')
                .velocity('stop')
                .velocity
                    properties:
                        opacity: 1
                        scale: [1, 0.9]
                    options:
                        display: 'block'
                        duration: 225
    

    I have this in my CSS:

    .pfentry__info {
     opacity: 0;
     transform: scale(0.9);
    }
    

    When Velocity is run, it scales with forcefeeding from 0.9 to 1, and then it drops scale(1), but keeps opacity: 1.

    How do I fix it ? ( a tmp fix would be to remove the transform from CSS, but I'm thinking that this could be a Velocity bug ? )

    Help wanted 
    opened by pyronaur 28
  • jQuery/Velocity SlideUp/Down bug

    jQuery/Velocity SlideUp/Down bug

    SlideUp and SlideDown both apply the following styles as expected

    display: none; overflow: visible; height: auto; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;

    However Velocity does not remove these style tags from the elements upon completion. Tried it on multiple elements.

    I am trying to set up a JSFiddle but I keep getting a console error of: Uncaught Error: Velocity: Either jQuery or Velocity's jQuery shim must first be loaded.

    Will happily throw up an example if somebody wouldn't mind telling me how exactly I do that with JSFiddle (never used it before).

    Bug 
    opened by Omniferum 27
  • Roadmap & Features

    Roadmap & Features

    Stage 1

    • [ ] Use original source and add/update build system
    • [ ] Convert source over to Typescript.
    • [ ] Automated tests: especially useful for Pull Requests (Jasmine?, Mocha?)
    • [ ] API Documentation within code (TypeDoc? GitBook?)

    Stage 2

    • [ ] Fix / close all valid open issues
    • [ ] Merge / add / close all open Pull Requests

    Note

    This is an open issue so people can discuss and put their own views in for getting things moving again - not for bug reports and feature requests which should be opened as separate issues - if you want to refer to an already open issue then feel free, but we do want to try to get them all closed / resolved as soon as possible anyway.


    • Typescript is described as "Javascript with types" - the code is pretty much identical but has type annotations added, so var test = "abc"; test = 123; doesn't give a warning in Javascript, but would in Typescript as you're trying to change the type of it (nice at preventing errors) - you could also use var test: string; test = "abc"; test = 123; to get the same warning.
    Help wanted 
    opened by Rycochet 26
  • Delay in animations during touchmove events on mobile Safari

    Delay in animations during touchmove events on mobile Safari

    I just noticed this on an iPhone 5S - velocity animations triggered by a touch event don't execute until after the touch has ended. I'm guessing this is somehow due to the requestAnimationFrame implementation in Safari for iOS, it seems like it doesn't invoke the functions queued up until all touches have ended. jQuery animations behave the same way in this situation, possibly setTimeout/Interval also suffer from the same feature. So, not really a velocity bug, but I'm just wondering if you had noticed this and might have any thoughts about how to address it? I'm thinking it's best to just use CSS transitions triggered by class changes in this scenario..

    opened by macgyver 26
  • Request: Add Velocity to a CDN

    Request: Add Velocity to a CDN

    jsDelivr has some phenomenal features where you can generate one single js file from multiple ones and in that way reduce the number of requests needed.

    It would be great if you would consider adding velocity to their list of repos.

    Thanks for something awesome <3

    opened by kokarn 26
  • Velocity.js, FPS @ Mobile devices

    Velocity.js, FPS @ Mobile devices

    I've been experimenting quite a bit with Velocity.js but i haven't yet been able to run Velocity at reasonable speeds on mobile with more real animations and a bit more complex objects.

    My latest pen on codePen just runs "ok" on desktop (win7+chrome) but on mobile it runs horribly. I've checked the paint times etc and it seems to be ok. Is there anything one can do to increase the perf on mobile? The in-built mobileHA doesn't seem to make much of a difference.

    I know about what CSS properties to animate and not for best performance but that doesn't seem to help. I usually only animate translate + opacity and stay away from shadows, borders, top, width, height etc (anything that causes repaints).

    The hope is to create something that doesn't require misc fallbacks for mobile devices or extraneous code in order to cover more platforms of different kinds. Sort of like thinking responsive design but for transitional UI/UX as well. It would suck to drop Velocity and only use CSS3 animations since the Velocity API and implementations is great for separating animation from presentation.

    opened by tommiehansen 23
  • Having problems with CommonJS implementation

    Having problems with CommonJS implementation

    I'm trying to use velocity using browserify in the simplest case (without externally loading velocity and using browserify shim), and I get the error

    Velocity: Either jQuery or Velocity's jQuery shim must first be loaded.

    It looks like the code won't execute require("jquery") unless window.Velocity is defined, which doesn't make sense:

    https://github.com/julianshapiro/velocity/blob/master/jquery.velocity.js#L42

    I suspect the point of that conditional is to allow you to use Velocity's jQuery shim instead of jQuery. If that is the case, shouldn't it be:

    factory(window.Velocity ? undefined : require("jquery"));

    That seems to be consistent with the AMD implementation as well as the downstream code. It also gets rid of the error for me.

    opened by arscan 23
  • The must-see 3D demo youtube video is private?

    The must-see 3D demo youtube video is private?

    Hey, I am new to velocity and I would like to learn how you made the 3d effect. image

    It's mentioned that the must-see video is at https://www.youtube.com/watch?v=MDLiVB6g2NY, but unfortunately, the video is private. Any chance to make it public again? Or is there another resource where this example is explained?

    opened by iwasherefirst2 2
  • Force velocity to attach itself to the window object even if jQuery is installed

    Force velocity to attach itself to the window object even if jQuery is installed

    Your system information

    • VelocityJS version: 2.0.6
    • Browser: Edge
    • Operating System: Windows

    Checklist

    • Is this an issue with code?: Kind of
    • Is this an issue with documentation?: No
    • Have you reproduced this in other browsers?: Yes
    • Have you checked for updates?: Yes
    • Have you checked for similar open issues?: Yes

    Please remember that this is an issue tracker, support requests should be posted on StackOverflow - see CONTRIBUTING.md

    Please describe your issue in as much detail as possible:

    I need to use the "non jQuery" version eg the standard JS function: Velocity() however if jQuery happens to be used on the same page velocity seems to prioritise the jQuery version and no longer attaches "Velocity" to the window object.

    Is there something I can modify in the code manually to force velocity to attach it to the main object, or is there another way I can achieve this?

    Finally, this may seem like a strange question because "why not just use the jquery version?", but in my use case I am including Velocity within a separate class, and my class does not require jQuery, so I am using the window Velocity function istead.. in other words I don't want my class to break just because jquery happens to be included on the page. If that makes sense.

    opened by Zephni 1
  • How to easing like specialEasing of jQuery animate?

    How to easing like specialEasing of jQuery animate?

    Your system information

    • VelocityJS version: 2.0.6
    • Browser: chrome
    • Operating System: ios

    Checklist

    • Is this an issue with code?: [Yes]
    • Is this an issue with documentation?: [Yes]
    • Have you checked for updates?: [Yes]
    • Have you checked for similar open issues?: [Yes]

    Please describe your issue in as much detail as possible:

    1. Is there any code that can achieve specialEasing like jQuery animate?
    2. How to use relative position in v2.0.6? When I use '+=', it does not work properly.

    thanks

    opened by JarvisChao 0
  • Is there a way to allow transition animation?

    Is there a way to allow transition animation?

    I'm trying to achieve something like this where the div expands from the center to left and right: http://jsfiddle.net/SNzgs/1/.

    I am currently using velocity(el, { scale: [1, 0], opacity: [ 1, "easeInSine", 0 ]}, { duration: 800, }) but it doesn't give me the desired effect.

    opened by BeckhamL 0
  • scrollTop property not working as expected

    scrollTop property not working as expected

    Your system information

    • VelocityJS version: 2
    • Browser: chrome
    • Operating System: windows 8

    Checklist

    • Is this an issue with code?: [Yes/No]
    • Is this an issue with documentation?: [Yes/No]
    • Have you reproduced this in other browsers?: [Yes/No]
    • Have you checked for updates?: [Yes/No]
    • Have you checked for similar open issues?: [Yes/No]

    Please remember that this is an issue tracker, support requests should be posted on StackOverflow - see CONTRIBUTING.md

    Please describe your issue in as much detail as possible:

    Describe what you expected should happen and what did happen. animating the scrollTop using scrollTop property only work if the scrollTop position is at 0px. So if the scrollTop position have changed from 0, it can only animate back to 0. Aside from that it wont work. Example: // html scrollTop position is at 0px $("html").velocity({scrollTop: 500}, {duration: 2000}) // it will work // html scrollTop position is at 500px $("html").velocity({scrollTop: 700}, {duration: 2000}) // it wont work //html scrollTop position is at 500px $("html").velocity({scrollTop: 0}, {duration: 2000}) // it will work

    Steps for reproducing this issue (code):

    JSFiddle example showing issue in action (code):

    Go to https://jsfiddle.net/Rycochet/mqv9L27u/ - click the "Fork" button at the top, create the example and copy the new URL back here.

    opened by Daverine 0
  • Velocity v3 and the future

    Velocity v3 and the future

    So this has been paused for quite a while, the reason basically came down to not having the time / spoons for writing Unit Tests to be able to do a proper release for v2...

    Now almost two years later I've been actively coding Velocity again for a couple of weeks, and all I can say is... I've started a lot again!

    Things have changed a lot in the past two years - there were things I wanted to do with the code before that were so bad for performance they couldn't be justified, but that's all changed, and now a lot of these things that could improve the interface for Velocity are now first-class citizens in the JS world of browsers - so I'm in the process of splitting Velocity up even more than before and making it significantly more powerful!

    In a rough end-user explanation, the API for animations will remain the same as V2, which itself was very similar to V1 in most ways (only properties such as scrolling were complete changes).

    Things that are changing are pretty much all behind the hood:

    • Far more abstracted design, which means we can do more Unit Tests to make sure things are safe and working correctly
    • Splitting almost everything apart - there's going to be more packages published (with the old velocity-animate being retired) - We've got a new namespaced project @velocityjs - so it's easier to use what you want - there will be a @velocityjs/animate which will effectively be the same as the old one for direct script use in browsers though (and will include everything from all other core parts of Velocity - though likely not specific modules such as React / Ember / Angular etc)
    • All modules for Velocity will be using the same public API that anyone can use, so there's (almost) nothing they can do that someone else can't hook into to extend!
    • The core part of Velocity no longer knows or cares what it is animating... All the browser support is being put into @velocityjs/dom, which might not seem like much - but it means that adding support for animating anything else becomes a lot simpler. What else might you animate? How about an Object that's being used to generate some WebGL display - and you can write your own custom functions for getting / setting any properties!

    A lot of these things are still being designed in terms of the best ways to do them, and I encourage anyone who wants to see what's happening have a look at the V3 branch - though be aware that a lot more is likely to break before it works again (the changes are too extensive to keep things working in the interim, but hopefully it won't take long to get back there again).

    I also want to write a performance / stress testing module that can compare all current animation libraries with each other - and give a good idea on what needs to be improved - so any ideas and support would be awesome!

    Internally we're now using Lerna for monorepo support, TSDX for package building, and will be using Jest for unit testing, and Storybook for showing off individual components that can be (as that also lets us include example code that can be played with). As with V2 this is 100% in Typescript, but the "everything" package of @velocityjs/animate will be compiled with Webpack and Babel for older browser compatibility.

    NOTE: The current V2 state is now being saved under the V2 branch - it never quite reached release due to the lack of testing, but still works very well for a lot of people.

    IMPORTANT Documentation 
    opened by Rycochet 7
Releases(v1.5.2)
  • v1.5.2(Jul 31, 2018)

  • v2.0.5(Jun 10, 2018)

    10 June 2018

    • Grab Promise in a try/catch Fixes #875 #875
    • Get default duration if none set in arguments Fixes #874 #874
    • Lock down some publicly accessible structures acb2bd5
    • Add Stagger and Drag options back - available for all animations 6b961de
    • Ensure default delay, fix "pattern" error, create callback for options to use 2bdd7c1
    Source code(tar.gz)
    Source code(zip)
  • v2.0.4(May 28, 2018)

  • v2.0.3(May 27, 2018)

    Possibly the final beta release before this comes out of beta.

    The major change in this version is the addition of Sequences.

    These replace the old V1 RunSequence and transitions. They are about as powerful as plain CSS animations, but run within the Javascript layer of the library, and allow you almost full control over them for creating and playing with them at runtime.

    When a tab is hidden it will now update via a background web-worker - this prevents issues that have been occuring as a result of browser optimisations. When this happens it will reduce the FPS to 30FPS (an option for reducing this further will appear at some point).

    The UI-Pack has been updated, and is now simply a list of sequences that are available - these match the nice selection available from animate.css - as such they are intended as much as examples, as they are for use.

    Example:

    // Note that this one is already included in the UI-Pack...
    Velocity("registerSequence", "bounce", {
        "duration": 1000,
        "0,100%": {
            transformOrigin: "center bottom"
        },
        "0%,20%,53%,80%,100%": {
            transform: ["translate3d(0,0px,0)", "easeOutCubic"]
        },
        "40%,43%": {
            transform: ["translate3d(0,-30px,0)", "easeInQuint"]
        },
        "70%": {
            transform: ["translate3d(0,-15px,0)", "easeInQuint"]
        },
        "90%": {
            transform: "translate3d(0,-4px,0)"
        }
    });
    
    document.querySelector("#myElement").velocity("bounce");
    

    You may pass any options you wish to a sequence. There are (currently) only a small number of defaults allowed when defining them, but anything you pass when calling will override them.

    Keep your eyes open for updated documentation covering this soon.

    Source code(tar.gz)
    Source code(zip)
  • v2.0.2(Mar 4, 2018)

    Internal updates and fixes. Last version before major sequencing / ui-pack update. Now uses the "velocity-animate" namespace for RequireJS.

    Source code(tar.gz)
    Source code(zip)
  • v2.0.1(Feb 11, 2018)

  • v2.0.0(Feb 1, 2018)

  • v1.5.1(Jan 6, 2018)

  • 1.5.0(Mar 18, 2017)

    IE9 bugfixes (now passes all tests). Fix performance.now() polyfill for older browsers. Various IE related bugfixes (IE8 still doesn't pass all tests though).

    Source code(tar.gz)
    Source code(zip)
  • 1.4.3(Feb 16, 2017)

  • 1.4.2(Jan 30, 2017)

  • 1.4.1(Dec 17, 2016)

  • 1.4.0(Dec 4, 2016)

    • Pause/Resume
    • Auto-parameterised values when forcefeeding, including most (all?) CSS color names. Color names can be placed within rgba(purple, 0.2) for ease of use and reading.
    • High resolution frame timer (smoother animations).
    • Better startup when in a background window.

    Lots of fixes and help from lots of people! :-)

    Source code(tar.gz)
    Source code(zip)
  • 1.3.2(Nov 21, 2016)

    • Various bugfixes.
    • Force-feed text with multiple matching digit sections to animate (auto-parameters).
    • High resolution (smoother) frame timer.

    NOTE:

    While auto-parameters deserve a minor version release, they still require several more features to be added first.

    Source code(tar.gz)
    Source code(zip)
  • 1.3.1(Sep 21, 2016)

  • 1.3.0(Oct 20, 2016)

  • 1.2.3(Sep 26, 2015)

Owner
Julian Shapiro
Julian Shapiro
JavaScript animation engine

anime.js JavaScript animation engine | animejs.com Anime.js (/ˈæn.ə.meɪ/) is a lightweight JavaScript animation library with a simple, yet powerful AP

Julian Garnier 44k Dec 30, 2022
GreenSock's GSAP JavaScript animation library (including Draggable).

GSAP (GreenSock Animation Platform) Professional-grade animation for the modern web GSAP is a robust JavaScript toolset that turns developers into ani

GreenSock 15.5k Jan 8, 2023
CSS3 backed JavaScript animation framework

Move.js CSS3 JavaScript animation framework. About Move.js is a small JavaScript library making CSS3 backed animation extremely simple and elegant. Be

Sloth 4.7k Dec 30, 2022
🐿 Super easy and lightweight(<3kb) JavaScript animation library

Overview AniX - A super easy and lightweight javascript animation library. AniX is a lightweight and easy-to-use animation library with excellent perf

anonymous namespace 256 Sep 19, 2022
GreenSock's GSAP JavaScript animation library (including Draggable).

GSAP (GreenSock Animation Platform) Professional-grade animation for the modern web GSAP is a robust JavaScript toolset that turns developers into ani

GreenSock 15.4k Jan 5, 2023
Pure CSS (no JavaScript) implementation of Android Material design "ripple" animation

Pure CSS (no JavaScript) implementation of Android Material design "ripple" animation

Mladen Plavsic 334 Dec 11, 2022
Animate Plus is a JavaScript animation library focusing on performance and authoring flexibility

Animate Plus Animate Plus is a JavaScript animation library focusing on performance and authoring flexibility. It aims to deliver a steady 60 FPS and

Benjamin De Cock 5.9k Jan 2, 2023
Create scroll-based animation without JavaScript

Trigger JS Create scroll-based animation without JavaScript. Sometimes we want to update the CSS style of an HTML element based on the scroll position

Trigger JS 1.1k Jan 4, 2023
Animation library that mimics CSS keyframes when scrolling.

Why Motus ? Motus allows developers to create beatuful animations that simulate css keyframes and are applied when the user scrolls. Features Node & B

Alexandru Cambose 580 Dec 30, 2022
React particles animation background component

particles-bg React component for particles backgrounds This project refers to the source code of the Proton official website, I packaged it into a com

lindelof 561 Dec 24, 2022
Theatre.js is an animation library for high-fidelity motion graphics.

Theatre.js is an animation library for high-fidelity motion graphics. It is designed to help you express detailed animation, enabling you to create intricate movement, and convey nuance.

Aria 8.6k Jan 3, 2023
Making Animation Simple

Just Animate 2 Making Animation Simple Main Features Animate a group of things as easily as a single thing Staggering and delays Chainable sequencing

Just Animate 255 Dec 5, 2022
A lightweight JavaScript library for creating particles

particles.js A lightweight JavaScript library for creating particles. Demo / Generator Configure, export, and share your particles.js configuration on

Vincent Garreau 26.7k Jan 8, 2023
Javascript library to create physics-based animations

Dynamics.js Dynamics.js is a JavaScript library to create physics-based animations To see some demos, check out dynamicsjs.com. Usage Download: GitHub

Michael Villar 7.5k Jan 6, 2023
Javascript and SVG odometer effect library with motion blur

SVG library for transitioning numbers with motion blur JavaScript odometer or slot machine effect library for smoothly transitioning numbers with moti

Mike Skowronek 793 Dec 27, 2022
Responsive, interactive and more accessible HTML5 canvas elements. Scrawl-canvas is a JavaScript library designed to make using the HTML5 canvas element a bit easier, and a bit more fun!

Scrawl-canvas Library Version: 8.5.2 - 11 Mar 2021 Scrawl-canvas website: scrawl-v8.rikweb.org.uk. Do you want to contribute? I've been developing thi

Rik Roots 227 Dec 31, 2022
simple JavaScript library to animate texts

Animated Texts Hi, this library is a simple javascript text animator Properties force type: number default: 300 start_delay_time type: number default:

Cristóvão 4 Jan 11, 2022
Slickscroll - A Lightweight JavaScript library for quick and painless momentum & parallax scrolling effects.

Slickscroll is a JavaScript library that makes momentum & parallax scrolling quick and painless View Demo: slickscroll.musabhassan.com Momentum Scroll

Musab Hassan 33 Dec 28, 2022
Tiny Javascript tweening engine.

Weeee.js Tiny Javascript tweening engine. Homepage Usage Step 1: npm install --save weeee.js Step 2: import Weeee from 'weeee.js'; const example = ne

Ivan Bogachev 3 Nov 30, 2022