好的,我想出了答案,所以我想既然我问了这个问题,我应该把答案放在这里,以帮助其他需要知道的人。
我有点愚蠢地寻找一种通过 jquery ui 来做到这一点的方法,因为我的列表是可排序的这一事实是无关紧要的,我只需要用户 jquery 来移动元素并为其设置动画。
下面的函数对此非常有用:
function moveAnimate(element, newParent){
var oldOffset = element.offset();
element.appendTo(newParent);
var newOffset = element.offset();
var temp = element.clone().appendTo('body');
temp .css('position', 'absolute')
.css('left', oldOffset.left)
.css('top', oldOffset.top)
.css('zIndex', 1000);
element.hide();
temp.animate( {'top': newOffset.top, 'left':newOffset.left}, 'slow', function(){
element.show();
temp.remove();
});
}
它是由 Davy8 在这个线程上提供的:
JQuery - animate move DOM element to new parent?