top
每次拖放或还原可拖动对象时,css 位置都会增加大约 10 像素。例如,
我第一次将苹果从 .sidebox 拖到 .dropbox 时,苹果最终是这样的:
<div class="apple ui-draggable selected" style="position: relative; left: 0px; top: 10.1px;"></div>
第二次,我将苹果从 .dropbox 拖回 .sidebox 或者只是稍微移动它并让它恢复,苹果是这样的,注意top
增加 10:
<div class="apple ui-draggable selected" style="position: relative; left: 0px; top: 20.1px;"></div>
重复拖放,top
变得越来越大:
<div class="apple ui-draggable selected" style="position: relative; left: 0px; top: 30.1px;"></div>
...
所以我亲爱的苹果正在远离我希望它保持的位置,直到它对页面说再见。这是什么原因造成的?
简化代码:
// 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
位置是固定的,可能有帮助吗?