0
這裏就是我在一分鐘對我的拖動和投擲的部分有:只允許一個可拖動的投擲的時間,讓任何對去除
$('.planets').draggable({
opacity: .4,
create: function(){$(this).data('position',$(this).position())},
cursorAt:{left:15},
cursor:'move',
start:function(){$(this).stop(true,true)},
revert : 'invalid'
});
$('.targets').droppable({
greedy: true, ///////////////
drop: function(event, ui) {
$(this).addClass("dropped-highlight");
$(this).droppable('option', 'accept', ui.draggable); ////////
$(this).append(ui.draggable); /////////
snapToMiddle(ui.draggable,$(this)); //This function snaps the draggable to the middle of the droppable
},
out: function(event, ui) {
$(this).removeClass("dropped-highlight");
$(this).droppable('option', 'accept', '.planets'); /////////
}
});
此刻,我可以堆疊在多個拖拽元素一個droppble。我只想讓任何一個可拖動的拖放在一次。一旦拖動可移動,一個新的可以進入該區域。帶有///////的代碼行是我最近添加的代碼,目的是嘗試實現這一點。
編輯:This Works!
$('.planets').draggable({
opacity: .4,
create: function(){$(this).data('position',$(this).position())},
cursorAt:{left:15},
cursor:'move',
start:function(){$(this).stop(true,true)},
revert : 'invalid'
});
$('.targets').droppable({
drop: function(event, ui) {
if(!$(this).hasClass('dropped-highlight')){
$(this).addClass("dropped-highlight");
$(this).droppable('option', 'accept', ui.draggable);
}
},
out: function(event, ui) {
$(this).droppable('option', 'accept', '.planets');
$(this).removeClass("dropped-highlight");
}
});
如果它不匹配,我會在我的函數中放回什麼?返回'無效'? – TheBritishBloke
它只是不會'做任何事情。 – deweyredman
改寫,你不需要恢復它,你只是不做任何事情,如果你放棄它,它已經有類 – deweyredman