私はこのHTMLを持っています
<div id="workflowEditor" class="workflow-editor">
<div class="node" class="ui-widget" style="top:20px; left:40px;">
<div class="ui-widget ui-widget-header ui-state-default">Header test</div>
<div class="ui-widget ui-widget-content">Test Content</div>
</div>
</div>
このCSSで
.workflow-editor
{
position: relative;
overflow: auto;
}
.workflow-editor .node
{
position: absolute;
min-width: 64px;
min-height: 64px;
}
呼ぶより
$(".node", "#workflowEditor").draggable({
containment: [0, 0, 500, 500]
});
ただし、この「ノード」をドラッグすると、負の値にドラッグできます。draggable
境界ボックスを制限するためにブラウザのビューポート座標を使用しているようです。座標がドラッグ可能な親に対して相対的であることを伝える方法はありますか?
注: 親は時間の経過とともに位置が変わる場合があります。
**編集**
ドラッグ可能要素が配置されているサーフェスは、他のコンテンツに対して相対的です。CSS で指定されているように、 にする必要があるoverflow:scroll;
ため、ドラッグ可能オブジェクトを外側にドラッグすると、スクロールバーが表示されます。親のサイズは固定です。私が抱えている問題は、ドラッグ可能なものをサーフェスの左 (または上) にドラッグできることです (したがって、それらを失います)。コンテインメントを に設定するのと同様の動作をさせたいのです"parent"
が、ドラッグ可能オブジェクトが親の右側/下側にオーバーフローできるようにします。