幅が1000pxのコンテナがあり、すべての幅が200pxのアイテムで満たされている場合。そのタイルの行/列の位置を計算するにはどうすればよいですか?
より詳細に説明するには:
私が知っている唯一の変数は、コンテナの幅(上記の例では1200px)、アイテムの幅(200px上)、およびアイテムのインデックス(1から始まる)です。
上記の情報だけを考えると、javascriptを使用してインデックスを入力することにより、セルの行と列を計算するにはどうすればよいですか。
たとえば、行あたりの最大アイテム数が6(アイテム幅とコンテナ幅から簡単に計算できます)の場合、アイテム番号7が行2、列1にあることを計算できる必要があります。
コンテナとアイテムの幅は必ずしも正確に割り切れない場合があるため、方程式は各行の終わりに必要な余分な空白を考慮し、htmlfloatレイアウトの場合と同様にアイテムを次の行に自然にラップする必要があります。
前もって感謝します
編集:
次の手順を実行することで、行を非常に正確に取得できました。
var itemsperrow = Math.floor(containerwidth/ itemwidth);
var column = Math.ceil(itemindex / itemsperrow )
これは、アイテムのインデックスが0ではなく1から始まる場合です。