如果我有一个宽度为 1000 像素的容器,其中填充了所有宽度为 200 像素的项目。如何计算瓷砖的行/列位置?
更详细地解释:
我知道的唯一变量是容器的宽度(上例中为 1200 像素)、项目的宽度(上例中为 200 像素)和项目索引(从 1 开始)。
仅给出上述信息,我如何通过使用javascript输入其索引来计算单元格的行和列。
例如,给定每行的最大项目值为6(可以很容易地从项目宽度和容器宽度计算出来),我需要能够计算出项目编号7位于第 2 行第 1 列。
容器和项目的宽度可能并不总是完全可整除,因此该等式必须考虑每行末尾所需的任何额外空格,并自然地将项目包装到下一行,就像它们在 html 浮动布局中一样。
提前致谢
编辑:
通过执行以下操作,我设法非常准确地获得了该行:
var itemsperrow = Math.floor(containerwidth/ itemwidth);
var column = Math.ceil(itemindex / itemsperrow )
这是从 1 而不是 0 开始的项目索引;