类似于mason .js或同位素.js的打包布局,不按现有元素排序
bin-packaging layout with similar to masonry.js or isotope.js without ordering by existing elements
我试图创建布局,将填充元素的方式尽量减少他们之间的空白。问题是,我尝试过的所有库都按照定义的方式从左到右、从上到下对项进行排序。下面是一些例子:
<div id="layout_wrapper">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
</div>
这些项将从左到右,从上到下填充layout_wrapper,从1开始,以4结束。但是这样可能会有空白,必须用其他合适的项目填充,比如1,4,3,2,这将是填充布局的最佳方式。
但是我做不到。我知道,这是少数情况下,如动态内容加载时,内容必须放置的方式,但在我的情况下,我需要一个其他的行为。
所以,有人知道如何使这个工作在砌体。js或任何其他类似的库使装箱算法工作的方式,我需要吗?谢谢。
2d打包是非常困难的,您可以尝试kd-tree并递归地细分树(http://www.blackpawn.com/texts/lightmaps/default.html)。或者有完美的砌筑(http://www.drewdahlman.com/meusLabs/?p=218)。我从来没有试过,但它似乎是一个精确的求解器。
相关文章:
- Selectize.js:如何对整数值的选项进行排序
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- 在d3.js中对x轴上的日期进行排序
- Sencha Ext JS排序标准以字符串而不是JSON的形式发送
- 使用JS或新查询对列表进行排序
- 如何使d3.js树布局按字母顺序对节点进行排序
- 如何在角度js的自动完成下拉列表中对项目列表(按字母顺序)进行排序
- 这个JS排序函数是如何工作的
- 角度 JS 排序和分页
- 检查列表是否在javascript中使用下划线.js排序
- Backbone.js-排序和迭代-比较器不工作
- 使用Backbone.js排序集合
- Knockout.js排序列表
- 使用js排序时保持选中项
- 用JS排序带有子项的HTML表
- JS -排序对象数组
- 使用dust.js排序功能
- Instafeed.js-排序时最喜欢60多张图片
- Angular JS排序并将字符串转换为整数