JQuery UI:draggable不会恢复到原始位置
每次拖动时,css位置top
增加约10px或恢复。 例如,
我第一次将苹果从.sidebox拖到.dropbox,苹果最终会像这样:
第二次,我将苹果从.dropbox拖回到.sidebox或者只是稍微移动它并让它恢复,苹果是这样的,注意top
增加了10:
重复拖放, top
变得越来越大:
...
所以我亲爱的苹果正在离开我想要它的位置,直到它告诉页面。 是什么导致这个?
简化代码:
// drag and drop $( ".apple" ).draggable({ revert:true }); $( ".dropbox" ).droppable({ drop: handleDropbox }); $( ".sidebox" ).droppable({ drop: handleSidebox }); function handleDropbox(event, ui) { $(this).append(ui.draggable); $(this).droppable( 'disable' ); } function handleSidebox(event, ui) { ui.draggable.parent().droppable('option', {'disabled':false}); $(this).children('h4').after(ui.draggable); }
编辑:不能在jsfiddle中复制它,还没弄清楚为什么..
请注意.sidebox
位置是固定的,可能有帮助吗?
请检查小提琴
$( ".apple" ).draggable({ revert:function(event,ui){ s=s+10; alert("my top position is "+s); $(this).data("draggable").originalPosition = { top:s, left:0 }; return !event; }, });