SelectJs :JavaScript library

var objectProperty={typeAnimation:"vibration",
property:"left",
from:0,
to:300,
duration:1000}
select('#div','.cube',animate(objectProperty));//"e:x|y"  x:event,y:(false or true) is a useCapture,"e:click|false" is Default
//Or select("e:click|false",'#div','.cube',animate(objectProperty));
var objectProperty={typeAnimation:"vibration",
property:"left",
from:0,
to:300,
duration:10000}
select('#div',animate(objectProperty),'.cube',animate(objectProperty));//"e:x|y"  x:event,y:(false or true) is a useCapture,"e:click|false" is Default
//Or select("e:click|false",'#div',animate(objectProperty),'.cube',animate(objectProperty));
var objectProperty={typeAnimation:"bounceinout",property:"left",from:0,to:500,duration:6000};
var objectProperty2={typeAnimation:"bounceoutin",property:"left",from:0,to:400,duration:3000};
select('#div',animate(objectProperty),'.cube',animate(objectProperty2));//"e:x|y"  x:event,y:(false or true) is a useCapture,"e:click|false" is Default
//Or select("e:click|false",'#div',animate(objectProperty),'.cube',animate(objectProperty2));
var objectProperty={typeAnimation:"circinout","property":[{transform:["translateZ","rotateZ","rotateX"]},"left"],
from:300,to:0,duration:3000}
var objectProperty2={typeAnimation:"expoin",property:"top",
from:100,to:0,duration:1000}
select("e:mousedown",'#div',animate(objectProperty),"e:mouseenter",'.cube',animate(objectProperty,objectProperty2));
//Or select("e:mousedown|false"/*"e:mousedown|true"*/,'#div',animate(objectProperty),"e:mouseenter|false"/*"e:mouseenter|true"*/,'.cube',animate(objectProperty,objectProperty2));
var objectProperty={typeAnimation:"bounceout","property":[{transform:["translateZ","rotateZ","rotateX"]},"left"],
from:300,to:0,duration:2000}
var objectProperty2={typeAnimation:"bounceout","property":"borderRadius",
from:100,to:0,duration:2000}
var objectProperty3={typeAnimation:"bounceout","property":[{transform:["translateX","rotateY","rotateZ"]},"left"],
from:0,to:300,duration:2000}
select("#event_here",animate(select('#div'),objectProperty,objectProperty2,select('.cube'),objectProperty3));//"e:x|y"  x:event,y:(false or true) is a useCapture,"e:click|false" is Default
var objectProperty={typeAnimation:"bounceout","property":[{transform:["translateY","rotateZ","rotateX"]},"left"],
from:[{transform:[100,9000,3000]},300],to:0,duration:20000}
var objectProperty2={typeAnimation:"vibration","property":[{backgroundColor:["rgbR","rgbG","rgbB"]},"borderRadius"],
from:[{backgroundColor:[10,250,10]},50],to:[{backgroundColor:[100,20,220]},0],vibrationStep:50,duration:20000}
var objectProperty3={typeAnimation:"elasticin","property":[{transform:["translateZ","rotateY","rotateZ"]},"left"],
from:[{transform:[-600,900,3000]},0],to:[{transform:[0]},400],duration:20000}
select("e:mousemove","#event_here",animate(select('#div'),objectProperty,objectProperty2,select('.cube'),objectProperty3))
var objectProperty1={typeAnimation:"vibration","property":[{backgroundColor:["rgbR","rgbG","rgbB"]},"borderRadius"],
boucle:"true",boucleType:"return",
from:[{backgroundColor:[10,250,10]},50],to:[{backgroundColor:[100,20,220]},0],vibrationStep:50,duration:10000}
var objectProperty2={typeAnimation:"elasticin",
boucle:"true",boucleType:"return",
callback:function(el,a,l){//el:DOM element, a:0-1, l:objectProperty.
    if(a==0){
    l.from=Math.floor(Math.random() * 10) + 50
    l.to=Math.floor(Math.random() * 400) + 100
   }
   el.style.transform="translateZ("+(l.to-l.from)*a+"px) rotateY("+(l.to-l.from)*a+"deg) rotateZ("+(l.to-l.from)*a+"deg)";
   el.style.left=(l.to-l.from)*a+"px";
}
,duration:2000}
select("e:mousemove","#event_here",animate(select('#div'),objectProperty1,select('.cube','#div'),objectProperty2))