# kute.js
A minimal Native Javascript tweening engine forked from tween.js. Since most of web developers don't actually use yoyo, repeat, play/pause/resume/timeline/whatever or tweening array values (processed with array interpolation functions), I've removed them. kute.js is like a merge of my own jQueryTween with tween.js, but generally it's a much more smarter build. You link the script at your ending <body> tag and write one line to do just about any animation you can think of.
# CDN
Thanks to jsdelivr, we have CDN link here.
# Basic Usage
At a glance, you can write one line and you're done.
//vanilla js
new KUTE.Animate(el,options);
//with jQuery plugin
$('selector').Kute(options);
# Advanced Usage
Quite easily, you can write 'bit more lines and you're making the earth go round.
//vanilla js
new KUTE.Animate(el, {
//options
from : {},
to : {},
duration: 500,
delay : 0,
easing : 'exponentialInOut',
start : functionOne, // run function when tween starts
finish : functionTwo, // run function when tween finishes
special : functionThree // run function while tween runing
}
);
//with jQuery plugin
$('selector'). Kute({
//options
from : {},
to : {},
duration: 500,
delay : 0,
easing : 'exponentialInOut',
start : functionOne, // run function when tween starts
finish : functionTwo, // run function when tween finishes
special : functionThree // run function while tween runing
}
);
# Full distribution (12Kb min)
It does most of the animation work you need.
* size: width and height
* colors: text color and background-color (values )
* transform: translate3D, scale, rotateX, rotateY, rotateZ
* position: top, left (ideal for IE9- translate3D(left,top,0) fallback)
* zoom: for scale on IE8 fallback
* backgroundPosition
* window scroll
# Base Distribution (9Kb min)
This distribution is much lighter and more suitable for most projects:
* size: width and height
* transform: translate3D, scale, rotateX, rotateY, rotateZ
* position: top, left (ideal for IE9- translate3D(left,top,0) fallback)
* zoom: for scale on IE8 fallback
* window scroll
#jQuery Plugin
That's right, there you have it, just a few bits of code to bridge the awesome kute.js to your jQuery projects.
# What else it does
* computes option values properly according to their measurement unit (px,%,deg,etc)
* properly handles IE10+ 3D transforms when elements have a perspective
* it converts RGBA & HEX colors to RGB and tweens the inner values, then ALWAYS updates color via HEX
* properly replaces top, centered or any other background position with proper value to be able to tween
* for most supported properties it reads the current element style property value as initial value (via currentStyle || getComputedStyle)
* allows you to add 3 different callbacks: start, update, finish, and they can be set as tween options (so no more nested functions needed)
* since translate3D is best for performance, kute.js will always uses it
* accepts "nice & easy string" easing functions, like 'linear' or 'exponentialOut' (removes the use of the evil eval, making development easier and closer to fast development standards :)
* uses 31 easing functions, all Robert Penner's easing equations
* like mentioned above, for IE8 zoom is used for transform: scale(0.5), it's not perfect as the object moves from it's floating point to the middle, and some left & top adjustments can be done, but to keep it simple and performance driven, I leave it as is, it's better than nothing.
# Browser Support
Since most modern browsers can handle pretty much everything, legacy browsers need some help, so give them polyfills.io. Also kute.js needs to know when doing stuff for IE9- like my other scripts here, I highy recommend Paul Irish's conditional stylesheets guides to add ie ie[version] to your site's HTML tag.
# Demo
coming soon..
# License
MIT License