我似乎无法理解stackexchange.com/sites上的JS。当您展开其中一个堆栈交换信息框时,看起来有一些平衡,旋转等。我想知道这是如何实现的?至少在数据结构方面如何实现这一目标以及如何在此设置中实施?
答案 0 :(得分:1)
它使用像bin-packing或treemap(kd-tree)这样的优化算法,并最大化包装密度。当您插入或删除图块时,它会找到新图块的最佳位置,它可以使用沿x和y轴的简单动画(在jquery动画中)。一些jquery插件可以解决你的问题:砌体,同位素,wookmark,freetile,vgrid,blocksit。请在此处阅读:http://webdesigninspirationtoday.com/article/367/5-jquery-plugins-to-produce-pinterest-like-dynamic-grid-layout。通常,优化算法对于现实生活中的问题非常有用,例如如何复制音乐档案而不是浪费空间。在这里阅读关于pinterest.com上算法的信息:http://www.quora.com/Pinterest/What-technology-is-used-to-generate-pinterest-coms-absolute-div-stacking-layout。