私は異なるサイズのタイルを持つタイルページを持つウェブサイトを作っています。私はタイル、列の数と行の数を取るjavaScriptを書いています。その後、グリッドを作成し、グリッドにタイルを完全にフィットさせ、小さな1つのブロックタイルでスペアスペースをいっぱいにします。私は終わりを取得すると、列と行などの量に基づいて、サイズとそこcooridantes、あらかじめ定義されたグリッドを持つPackery JS
blocks = [
{
element: $('<div class="large"></div>'),
width: 3,
height: 2,
yPos: 0,
xPos: 0
},
{
element: $('<div class="medium"></div>'),
width: 2,
height: 2,
yPos: 0,
xPos: 3
},
{
element: $('<div class="small"></div>'),
width: 1,
height: 1,
yPos: 0,
xPos: 6
},
{
element: $('<div class="small"></div>'),
width: 1,
height: 1,
yPos: 2,
xPos: 0
}
]
タイルの配列があり、実際の配列はそれでより多くのを持っており、空白なしで完璧なグリッドを行います底部に沿ってまっすぐです。
これを何らかの形で画面に表示する必要があります。私は最初にテーブルを使用し、行と列の属性の数を使用して、私は必要なサイズの完全なグリッドを作成することができました。唯一の問題は、応答性があり、画面サイズに基づいて列の数を変更することです。私は本当にパッカーがこれをやっているのが好きです。私はpkery.fit()を使って、座標を設定して要素を渡して欲しいものを達成することができると考えましたが、そのようには動作しません。私がPackeryで達成しようとしていることを私がすることができれば誰でもやっていますか?私はまた、それをより反応的にするためにパーセンテージのサイズを使用しています。
function organizeByPosition(){
addedBlocks.sort(function sortByPosition(a, b){
if (a.positionY == b.positionY) return a.positionX - b.positionX;
return a.positionY - b.positionY;
})
}
今私がしなければならないすべてはこれらを追加するpackeryを使用している:Yの優先順位を与えるが座標で