有谁知道如何从下往上制作jQuery砌体堆栈?我写了一些基本的JS来从下往上堆叠东西,但是它不能做砖石砌体,比如在最短的柱子上堆砌下一块砖块,并且跨越多列。由于我对数学不太好,查看源代码只会让我头晕目眩。jQuery砌体自下而上
任何人想试试吗?
有谁知道如何从下往上制作jQuery砌体堆栈?我写了一些基本的JS来从下往上堆叠东西,但是它不能做砖石砌体,比如在最短的柱子上堆砌下一块砖块,并且跨越多列。由于我对数学不太好,查看源代码只会让我头晕目眩。jQuery砌体自下而上
任何人想试试吗?
你会嘲笑这是多么容易,但你需要修改插件(demo)。
基本上,我改线82 - 85从这里(所有需要的改变是top
到bottom
,但我加了两个,所以你可以来回切换):
var position = {
left: props.colW * shortCol + props.posLeft,
top: minimumY
};
这样:
var position = (opts.fromBottom) ? {
left: props.colW * shortCol + props.posLeft,
bottom: minimumY
} : {
left: props.colW * shortCol + props.posLeft,
top: minimumY
};
然后添加在默认的选项:
// 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: {}
};
现在你ç一个只使用插件像这样:
$('#masonry').masonry({ fromBottom: true });
更新:我在GitHub上也forked the repository,这样你就可以下载了变化,如果你不想做他们自己。
超级棒!谢谢fudgey! 在另一个说明中,我添加了另一个父元素,这样我可以将整个堆栈放置在该父元素的底部以模拟重力。 ([演示](http://aentan.com/test.html)) – 2011-03-06 01:57:50
如果你提出挑战,你将不得不使标准更清晰,以确保你获得参赛者。看起来有点儿可以向我解释......块子从哪里来,它们可以是什么尺寸和形状,是平顶的理想目标?尽管我喜欢这个图,并且+1是一个很酷的问题。 – Orbit 2011-03-05 19:54:56
+1不错的问题。其次是更多细节的要求。 – polarblau 2011-03-05 20:30:00