SkidX / tweene

JavaScript Animation Proxy
http://tweene.com
Artistic License 2.0
353 stars 29 forks source link

Tweene - JS Animation Proxy - v0.5.10

Tweene is a JS library that helps to improve your favourite animation engine, allowing you to do more and better.

There are already a lot of good JavaScript animation libraries on the market, each one with specific features, strengths and weaknesses. Each programmer and each project have their specific requirements, so sometimes one library may be suitable while other times it could not.

Tweene is something different. It is an animation proxy: used as a wrapper of your chosen library, it may allow you to

Currently it can work together with GSAP, Velocity.js, Transit (CSS Transitions) or jQuery.

Resources

Getting started

To start using Tweene just include the script after your animation library of choice.

jsDelivr CDN provides free hosting for Tweene. You can simply replace the script URL with one of the minified files on jsDelivr like this:

<script src="https://github.com/SkidX/tweene/raw/master//cdn.jsdelivr.net/tweene/VERSION_HERE/tweene-velocity.min.js"></script>

For more details, like version aliasing, please visit the README.

Alternatively, you can download the repository and host the files locally.

// use Tweene with GSAP
<script src="https://github.com/SkidX/tweene/raw/master//cdnjs.cloudflare.com/ajax/libs/gsap/1.18.0/TweenMax.min.js"></script>
<script src="https://github.com/SkidX/tweene/raw/master//cdn.jsdelivr.net/tweene/latest/tweene-gsap.min.js"></script>

// use Tweene with jQuery
<script src="https://github.com/SkidX/tweene/raw/master//cdn.jsdelivr.net/jquery/latest/jquery.min.js"></script>;
<script src="https://github.com/SkidX/tweene/raw/master//cdn.jsdelivr.net/tweene/latest/tweene-jquery.min.js"></script>
// or fetch all with a single HTTP request
<script src="https://github.com/SkidX/tweene/raw/master//cdn.jsdelivr.net/g/jquery,tweene(tweene-jquery.min.js)"></script>

// use Tweene with Transit
<script src="https://github.com/SkidX/tweene/raw/master//cdn.jsdelivr.net/jquery/latest/jquery.min.js"></script>;
<script src="https://github.com/SkidX/tweene/raw/master//cdn.jsdelivr.net/jquery.transit/0.9.12/jquery.transit.min.js"></script>
<script src="https://github.com/SkidX/tweene/raw/master//cdn.jsdelivr.net/tweene/latest/tweene-transit.min.js"></script>
// or fetch all with a single HTTP request
<script src="https://github.com/SkidX/tweene/raw/master//cdn.jsdelivr.net/g/jquery,jquery.transit@0.9.12,tweene(tweene-transit.min.js)"></script>

// use Tweene with Velocity.js
<script src="https://github.com/SkidX/tweene/raw/master//cdn.jsdelivr.net/jquery/latest/jquery.min.js"></script>;
<script src="https://github.com/SkidX/tweene/raw/master//cdn.jsdelivr.net/velocity/1.2.2/velocity.min.js"></script>
<script src="https://github.com/SkidX/tweene/raw/master//cdn.jsdelivr.net/tweene/latest/tweene-velocity.min.js"></script>
// or fetch all with a single HTTP request
<script src="https://github.com/SkidX/tweene/raw/master//cdn.jsdelivr.net/g/jquery,velocity@1.1,tweene(tweene-velocity.min.js)"></script>

// use Tweene with more then one library
<script src="https://github.com/SkidX/tweene/raw/master//cdnjs.cloudflare.com/ajax/libs/gsap/1.18.0/TweenMax.min.js"></script>
<script src="https://github.com/SkidX/tweene/raw/master//cdn.jsdelivr.net/jquery/latest/jquery.min.js"></script>
<script src="https://github.com/SkidX/tweene/raw/master//cdn.jsdelivr.net/jquery.transit/0.9.12/jquery.transit.min.js"></script>
<script src="https://github.com/SkidX/tweene/raw/master//cdn.jsdelivr.net/velocity/1.2.2/velocity.min.js"></script>
<script src="https://github.com/SkidX/tweene/raw/master//cdn.jsdelivr.net/tweene/latest/tweene-all.min.js"></script>

<script>
// set the default time unit you want to use
Tweene.defaultTimeUnit = 'ms'; // or 's'

// set the default driver you want to use
Tweene.defaultDriver = 'gsap'; // or one of 'transit', 'velocity', 'jquery'
</script>

Package managers

bower install tweene
or
npm install tweene

// use Tweene with more then one library
require('tweene');

// use Tweene with GSAP
require('tweene/gsap');

// use Tweene with jQuery
require('tweene/jquery');

// use Tweene with Transit
require('tweene/transit');

// use Tweene with Velocity.js
require('tweene/velocity');

Time unit

Tweene tries to accommodate your current programming habits, not to force you to change them. For this reason, you can configure the default time unit used to indicate durations and delays of your tweens, by changing the value of Tweene.defaultTimeUnit (accepted value: 's' or 'ms'). Since the GSAP library uses natively seconds as time unit, when you will use only that specific driver through tweene-gsap.min.js or require('tweene/gsap') please note that the predefined value of Tweene.defaultTimeUnit will be 's'. In all other cases, it defaults to 'ms'. However, you can change it any time you want and also on a single call basis. Check http://tweene.com/docs/#duration for more details.

Changelog

License

Tweene is available under Artistic License 2.0, check the LICENSE.txt inside the archive for details.

Animation libraries of your choice are not included and have their own license agreement.