この取り組みは、私の以前に回答されていない質問への回答です:サイズ変更可能な div は、格納パラメーター内にとどまりません
pocketresizable
と呼ばれる私のdiv は、それを入れたいコンテナの直接の子ではないため、コンテナ内に含める必要があるメソッドでコールバックを提供しました。resize
ここでフィドル:http://jsfiddle.net/dKuER/12/
私の問題
resizable
divのサイズをグリッド境界を超えleft
て左に変更すると (位置に影響します) 、コールバック関数のロジックが常に尊重されるとは限りません。左にドラッグすると、div がハードコードされた位置からマウスで決定された位置に切り替わる点滅アクションに気付くでしょう。left
left
いつドラッグを中止left
するかによって、div の位置は、ハードコーディングされた位置か、マウスがドラッグを停止した場所のいずれかになります。
コールバック関数のロジックが常に尊重されるようにするにはどうすればよいですか?
// Relevant Code
// No blinking action when dealing with the width
//Re-sizing to the right works
if ( (pocketLeft + currentWidth) > (gridLeft + gridWidth) ) {
var deltaWidth = (gridLeft + gridWidth) - (pocketLeft + originalWidth);
ui.size.width = originalWidth -deltaWidth;
}
// This should force the position if the div is re-sized
// past the grid's left boundary
if (pocketLeft < gridLeft) {
ui.position.left = -120;
}