fabriccanvas
HTML
<script src="http://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.4.0/fabric.min.js"></script>
<button id="start">Start</button>
<canvas id="canvas" width="840" height="840"></canvas>
CSS
#canvas {
display: block;
margin-top: 10px;
border: 1px solid green;
}
JavaScript
$(function(){
$('#start').click(function() {
var canvas = new fabric.Canvas('canvas', { selection: false });
var objects = new Array();
for (var x = 1; x <= 16; x++) {
objects[x] = new Array();
for (var y = 1; y <= 16; y++) {
var rect = new fabric.Rect({
left: (350/8)*(x-1)+40,
top: (350/8)*(y-1-8),
fill: 'red',
width: 34,
height: 34
});
objects[x][y] = {
type: 'square',
object: rect
}
canvas.add(rect);
}
}
var startTime = Date.now();
(function animate() {
var current = Date.now() - startTime;
for (var x = 1; x <= 16; x++) {
for (var y = 1; y <= 16; y++) {
objects[x][y].object.top = fabric.util.ease.easeOutBounce(current, (350/8/5)*(y-1-8), (350/8)*(y-1)+40+((350/8/5)*(y-1-8)*-1), 800);
}
}
if (current > 800) {
canvas.renderAll();
return;
}
canvas.renderAll();
fabric.util.requestAnimFrame(animate);
})();
});
});