わかりました、1日後、私はこれを非常に簡単に行うことができました...
グリッドを作成するための鍵は、単純な CSS の配置でした。
親コンテナ ( #grid
)position:relative;
とすべてのグリッド ボックスが使用されposition:absolute
ていることを確認top:;left:;
し、JSON プロパティに基づいてグリッド内にアイテムを正確に配置することができました。
受け取った JSON 配列のグリッドごとitem
に、あらかじめプログラムされた css クラスを指定して、高さ、幅、行、列を設定します。
.item .widthx1 { width: 85px !important; }
.item .widthx2 { width: 180px !important; }
.item .heighty1 { height: 85px !important; }
.item .heighty2 { height: 180px !important; }
.item .col1 { left:10px !important; }
.item .col2 { left:105px !important; }
.item .col3 { left:200px !important; }
.item .col4 { left:295px !important; }
.item .row1 { top:10px !important; }
.item .row2 { top:105px !important; }
.item .row3 { top:200px !important; }
.item .row4 { top:295px !important; }
注 -これ以上行が増えるとは予想していなかったので、私の CSS 行は最大になります。.row24
それ以上の行がある場合はtop
、行数に各グリッド オブジェクトの高さの寸法を掛けて属性を計算する JavaScript をいつでも作成できます。列とleft
属性についても同様です。列数にグリッド オブジェクトの幅の寸法を掛けるだけです。top
次に、属性とleft
属性をオブジェクトの単純なstyle
タグに挿入できます。
私の JSON 配列の各項目オブジェクトは次のように見えたので、列、行、x 幅、y 高さを指定します。
c: 1
r: 3
x: 1
y: 1
各項目を繰り返し処理し、次のような HTML を追加しました。
$(itemsArray).each(function(index, item) {
var itemHtml = "<div class='item widthx" + item.x + " heighty" + item.y + " row" + item.r + " " + "col" + item.c + "'>" + image + "</div>"
$('#grid').append(itemHtml)
});