1

我似乎无法理解 stackexchange.com/sites 上的JS。当您展开其中一个堆栈交换信息框时,似乎正在进行一些平衡、旋转等。我想知道这是如何实现的?至少就其数据结构而言,这可能是如何实现的,以及它是如何在此设置中生效的?

4

1 回答 1

1

它使用bin-packing或treemap(kd-tree)等优化算法并最大化打包密度。当您插入或删除图块时,它会找到新图块的最佳位置,并且可以使用沿 x 和 y 轴的简单动画(在 jquery animate 中)。一些 jquery 插件可以解决您的问题:masonry、isotope、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 。

于 2012-11-10T12:16:21.673 回答