私はプロジェクトを作成しています。これは単純な todo リストです。タスクをドラッグして再配置できます。タスクcontainment
をそれらを含む div に設定しました。
しかし、タスクを一番上に置きたい場合、それを一番上にドラッグするだけで、コンテナの div が一番上の現在のタスクの上に移動するのを止めます。
並べ替え可能なプラグインを変更10px
して、上部と下部に余分なものを追加したいので、タスクは div の上部で正確に停止するのではなく、それを超えて10px
コンテナ div の下部に移動します。
私の言いたいことを理解するために自分で試してみてください。ここに。いくつかのタスクを追加し、コンテナーの上部にいくつかのタスクを配置してみてください。
sortable
開発バンドルを使用して変更しようとしましたが、これらの行に到達しましたが、何を正確に変更すればよいかわかりませんでした:
if(!(/^(document|window|parent)$/).test(o.containment) && o.containment.constructor != Array) {
var c = $(o.containment);
var ce = c[0]; if(!ce) return;
var co = c.offset();
var over = ($(ce).css("overflow") != 'hidden');
this.containment = [
(parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0),
(parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0),
(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right,
(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom
];
this.relative_container = c;
}