【发布时间】:2013-12-20 02:35:43
【问题描述】:
请找到我创建的这个 jsfiddle drag n drop no sorting
这里的问题是当我把盒子从拖拽区域放到“放在这里”区域时,盒子不会被整理出来。例如,如果我将 box2 放在“drop here”区域,则 box1 和 box3 之间不应留有空间。当我将 box2 放回可拖动状态时,它是否应该在 box1 和 box3 之间。
我已经尝试在drop可拖动区域的事件中进行梳理。
第二个问题是盒子必须恢复到可拖动区域,只有当它下降到“放在这里”区域之外。但在这里它部分工作。如果我从“放在这里”区域拖动一个框并将其放在外面,它会恢复到“放在这里”区域。我希望它回到可拖动区域。
这是我的代码:
$(function(){
//$("#eventlist").sortable({connectWith: "#timeline"});
//$("#timeline").sortable({connectWith: "#eventlist"});
$(".ui-draggable").draggable({
cursor: "move", cursorAt: { top: -5, left: -5 },
//snap: " #eventlist", snapMode: "inner"
revert: "true"
});
$("#eventlist").droppable({
accept: ".ui-draggable",
tolerance: 'fit',
drop:function(event, ui){
$("#eventlist").sortable() ;
}
});
$("#timeline").droppable({
accept: ".ui-draggable",
tolerance: 'fit',
drop: function( event, ui ) {
console.log(':::dropped on timeline:::');
},
out: function( event, ui ) {
$(".ui-draggable").draggable('option','revert','invalid');
}
});
});
当它回到可拖动区域时,我如何对框进行排序???以及盒子如何恢复到原来的(初始)位置???
【问题讨论】:
-
我不久前做了类似的事情。您需要使用
sortable而不是draggable。看看这个小提琴jsfiddle.net/ULmrD/5它不完全是你的情况,但它涉及一个拖到其他拖放区的可排序列表,这些拖放区实际上只是它所连接的其他可排序列表。 -
like this ???它现在仍然有效。
-
不,一点也不。 1) 你还在使用
draggable。 2) 你没有使用sortable。 3)你没有使用过connectWith -
我试过
sortable和connectWith。我的问题是没有2个列表。 放在这里区域是div。 -
好的。如果您希望放置区域保持排序,我认为您只需将其设为列表而不是 div
标签: javascript jquery jquery-ui