DividedBoxの使用方法についてはこちらを参照してください
横積み(区切り方向は縦)のDividedBoxです。
refreshボタンをクリックするとDividedBoxController.refresh()を実行します。
サイズ変更でDividedBoxのルート要素のサイズを変更できます。
refreshを実行するとDividedBoxのルート要素に合わせてボックスの領域が再計算されます。
dividerを操作してボックスの領域を動かすことが出来ます
dividerを操作してボックスの領域を動かすことが出来ます
dividerを操作してボックスの領域を動かすことが出来ます
縦積み(区切り方向は横)のDividedBoxです。
ルート要素にverticalクラスを指定すると縦積みのDividedBoxになります。
dividerを操作してボックスの領域を動かすことが出来ます
dividerを操作してボックスの領域を動かすことが出来ます
dividerを操作してボックスの領域を動かすことが出来ます
横積みのDividedBoxの中に縦積みのDividedBoxを入れ子で使用した例です。
refreshボタンをクリックすると各DividedBoxについてrefreshを実行しています。
dividerを操作してボックスの領域を動かすことが出来ます
dividerを操作してボックスの領域を動かすことが出来ます
dividerを操作してボックスの領域を動かすことが出来ます
dividerを操作してボックスの領域を動かすことが出来ます
data属性としてmin-size、max-sizeを指定すると、そのボックスの最小サイズ、最大サイズを指定できます。
data-min-size=100
このボックスは100pxより小さくできません
指定無し
data-mix-size=50 data-max-size=300
このボックスは50pxより小さくできません
このボックスは300pxより大きくできません
data-max-size=300
このボックスは300pxより大きくできません
中央のボックスにnoFillクラスを指定しています。
ボックス要素は自動で高さ(縦積みDividedBoxの場合は幅)が100%になり、ルート要素と同じ高さ(縦積みの場合は幅)になります。
しかし、noFillクラスの指定されたボックスは元のサイズを維持します。
noFill指定のないボックス
ボックスの高さは100%(==dividedBoxの高さ)になります
noFill指定ボックス
noFill指定の場合は高さ100%ではなく中身に依存します
noFill指定のないボックス
ボックスの高さは100%(==dividedBoxの高さ)になります
ルート要素にfreezeSizeクラスを指定すると、DividedBoxのルートのサイズは生成時のサイズに固定されます。
ルート要素の幅はauto指定をしています。そのためウィンドウ幅を変更した場合にルート要素の幅も変わります。
しかし、freezeSizeを指定するとルート要素はDividedBox適用時のサイズに固定されます。
dividerを操作してボックスの領域を動かすことが出来ます
dividerを操作してボックスの領域を動かすことが出来ます
dividerを操作してボックスの領域を動かすことが出来ます
DividedBox適用時のボックスのサイズは自動で計算されます。例えば3つのボックスがあれば各ボックスのサイズはルートの1/3の大きさになります。
ただし、ボックス要素にkeepSizeクラスを指定すると、そのボックスのサイズは自動計算されずDividedBox適用前のサイズを保ちます。
この指定はDividedBox適用時にのみ意味のある指定です。適用後は通常のボックスと同じでdivider操作によるサイズ変更が可能になります。
このボックスはDividedBox適用した時に適用前の幅が保たれます。適用後はサイズ変更可能です。
DividedBox適用時に、ボックス要素にfixedSizeクラスを指定すると、そのボックスのサイズは変更できなくなります。
また、以下のようにして動的にボックスを固定にすることもできます
dividedBoxController.fixSize(box); // box = ボックス要素またはボックスのインデックス
サイズ固定を解除するにはunfixSize()を呼びます。
dividedBoxController.unfixSize(box); // box = ボックス要素またはボックスのインデックス
refresh時にサイズの自動計算が行われますが、固定サイズボックスはrefreshされてもサイズ変更されません。
DividedBoxのルート要素にdiv要素を追加してrefresh()を呼ぶと、自動で追加した要素がボックスとして扱われます。
divを追加ボタンを押すと最後尾にdiv要素を追加します。
refresh()を呼ぶと、追加されたdivをボックスとして扱えます。
dividerを操作してボックスの領域を動かすことが出来ます
dividerを操作してボックスの領域を動かすことが出来ます
dividerを操作してボックスの領域を動かすことが出来ます
DividedBoxにボックスを動的に追加・削除することができます。
追加する箇所は、追加したボックスが何番目のボックスになるか、既存のボックス要素を指定します。既存のボックス要素を指定した場合はそのボックスの前に追加されます。
省略した場合は最後尾に追加します。
削除する箇所は、削除するボックス要素または削除するボックスが何番目のボックスかを指定します。
dividedBox.insert(indexOrTargetBox, box);
dividedBox.remove(indexOrTargetBox);
DividedBoxをバインドすると、基本的にはバインド要素内の要素全てがボックスとして扱われます。
しかし、position:absoluteを指定している要素はボックスの対象になりません。
固定位置に表示する要素を置いたり、インジケータを出すことができます。
dividedBox.insert(indexOrTargetBox, box);
dividedBox.remove(indexOrTargetBox);