Te vas a reír de lo fácil que es hacer esto, pero necesitarás modificar el complemento (demo).
Básicamente, he cambiado la línea 82 - 85 de esta (todo lo que necesitaba cambiar era top
a bottom
pero he añadido tanto para que pueda cambiar de ida y vuelta):
var position = {
left: props.colW * shortCol + props.posLeft,
top: minimumY
};
a esto:
var position = (opts.fromBottom) ? {
left: props.colW * shortCol + props.posLeft,
bottom: minimumY
} : {
left: props.colW * shortCol + props.posLeft,
top: minimumY
};
Luego añade la opción en los valores por defecto:
// Default plugin options
$.fn.masonry.defaults = {
singleMode: false,
columnWidth: undefined,
itemSelector: undefined,
appendedContent: undefined,
fromBottom: false, // new option
saveOptions: true,
resizeable: true,
animate: false,
animationOptions: {}
};
Ahora usted c un sólo tiene que utilizar el plugin de esta manera:
$('#masonry').masonry({ fromBottom: true });
Actualización: También forked the repository en github, por lo que sólo puede descargar los cambios si no quiere hacer por sí mismo.
Si está planteando un desafío, tendrá que aclarar los criterios para asegurarse de obtener los concursantes. Parece un poco abierto a la interpretación para mí ... ¿De dónde vienen los bloques, qué tamaños y formas pueden tener, es el objetivo ideal una tapa plana? Aunque me gusta el diagrama, y +1 para una pregunta genial. – Orbit
+1 Buena pregunta. Segundo, la solicitud de más detalles. – polarblau