2015-10-03 6 views
6

要素(.draggable)を内部に持つソート可能div(#sortable)があります。そこでは、要素を下から上に並べ替えると要素を上にドラッグすることで簡単に並べ替えることができ、上にドラッグする必要はありません。しかし、要素を上から下にソートするとき、私はその要素を望みよりもずっと下にドラッグしなければなりません。要素の並べ替えを制御する方法はありますか?少し上/下をドラッグして上/下をドラッグしなくても、それぞれ要素を配置するプレースホルダが表示されます。jquery uiを使用する場合、要素のソートを制御する方法はありません

デモ:codepen私はすべての方法まで私はソートする要素の上に要素をドラッグする必要はありませんと上向きにソート上向き

をソート

JS

$('#content #sortable').sortable({ 
    handle: '.drag_handle', 
    placeholder: "ui-state-highlight", 
    axis: "y" 
    }); 

    $('#blocks .draggable').draggable({ 
    helper: "clone", 
    revert: "invalid", 
    connectToSortable: '#content #sortable' 
    }); 

更新

は簡単です。と。私はすべての方法ダウン私はソートする要素以下の要素をドラッグする必要があるとして、下向きソート下向き

をソート

enter image description here

は困難です。

enter image description here

+0

です。スケッチやその他の説明がありますか? – polarblau

+0

@polarblauこの[codepen](http://codepen.io/aamus/pen/qOrpEZ?editors=100)のデモをご確認ください。要素をドラッグ/ソートすると、上の要素の最後までドラッグする必要はありませんが、下にドラッグすると要素の下までずっとドラッグする必要があります。私が欲しいのは、要素を5px以下にドラッグ/ソートし、その要素のプレースホルダを残して、下の要素をすべてドラッグする必要がないようにすることです。 – Aamu

+0

申し訳ありませんが、私は持っていると思います。ありがとう! – polarblau

答えて

5

だけ"pointer"sortable APItoleranceオプションを変更します。このオプションは、要素の50%以上がプレースホルダと重なり合うまでドラッグするのを待つのではなく、カーソルがその上にあるときにプレースホルダ上にあるとみなします(現在必要なもの)。これをソートするには、あまりにも遠くにスクロールしなければならなかったのです。ここで

$('#content #sortable').sortable({ 
    handle: '.drag_handle', 
    placeholder: "ui-state-highlight", 
    tolerance: "pointer" 
}); 

、私は質問を理解し、トラブルを抱えている更新CodePen

+0

ありがとうございます。これが私を殺していた。 – Aamu

+0

賞金は、7時間後に授与され、その後に授与されます。再度、感謝します。 – Aamu

関連する問題