Bricks.js
A blazing fast masonry layout generator for fixed width elements
...Using your instance, you can enable and disable the resize handler, add and remove event handlers, accommodate dynamically added elements, etc. Bricks instances are extended with Knot.js, a browser-based event emitter. Use the event emitter syntax to add and remove handlers for the events emitted by the API methods. Bricks depends on the browser APIs ES5 array methods, forEach, map, indexOf, requestAnimationFrame, and matchMedia.