如果我有一个宽度为1000像素的容器,里面填充的项目都是200像素宽。如何计算这些图块的行/列位置?
更详细地解释一下:
只知道容器的宽度(如上例中的1200px),每个项目的宽度(如上例中的200px)以及项索引(从1开始)。怎样可以仅凭以上信息,使用JavaScript计算出单元格的行和列。
例如,给定每行最多6个项目(这可以从项目宽度和容器宽度轻松地计算出来),我需要能够计算出项目编号7位于第2行,第1列。
由于容器和项目的宽度可能无法完全被整除,因此方程式将不得不考虑每行末尾所需的任何额外空白,并自然地将项目包裹到下一行,就像在HTML浮动布局中一样。
提前致谢
编辑:
我已经成功通过以下方式精确获得了行:
更详细地解释一下:
只知道容器的宽度(如上例中的1200px),每个项目的宽度(如上例中的200px)以及项索引(从1开始)。怎样可以仅凭以上信息,使用JavaScript计算出单元格的行和列。
例如,给定每行最多6个项目(这可以从项目宽度和容器宽度轻松地计算出来),我需要能够计算出项目编号7位于第2行,第1列。
由于容器和项目的宽度可能无法完全被整除,因此方程式将不得不考虑每行末尾所需的任何额外空白,并自然地将项目包裹到下一行,就像在HTML浮动布局中一样。
提前致谢
编辑:
我已经成功通过以下方式精确获得了行:
var itemsperrow = Math.floor(containerwidth/ itemwidth);
var column = Math.ceil(itemindex / itemsperrow )
这里的索引从1开始,而不是0;