jQuery droppable absolute positioning and redraggable at the time

jQuery droppable absolute positioning and redraggable at the same time

因为这个,我感觉真的很愚蠢,但我真的想不通。看到我对我的 Draggables 有两个要求,我想从一个可滚动的侧面菜单移动到另一个 div:

现在最愚蠢的部分是,我设法实现了这两个目标,但不知何故无法让它们同时工作。

当我键入此内容时,重新拖动效果非常好,但拖动的 div 会卡到左上角:

  jQuery('#droppable').droppable({
    accept: '.drag',
    drop: function(e, ui) {
        if (!ui.draggable.hasClass("dropped"))
            jQuery(this).append(jQuery(ui.draggable).clone().addClass("dropped").draggable());
        }
    });

但是当我添加代码来定位它时,它确实很好,但是一旦它被放下,它就永远被放下(而且原来的不能再次拖动)

 jQuery('#droppable').droppable({
    accept: '.drag',
    drop: function(e, ui) {
        if (!ui.draggable.hasClass("dropped"))
            var parentOffset = jQuery('#droppable').offset();
            var dropped = jQuery(ui.draggable).clone().addClass("dropped").draggable();
            dropped.css('left', (ui.position.left  - parentOffset.left) +'px');
            dropped.css('top', (ui.position.top - parentOffset.top) +'px');
       jQuery(this).append(jQuery(ui.draggable).clone().addClass("dropped").draggable());
        }
    });

我觉得我做错了一些非常基本的错误:) 谁能帮我? 提前致谢!

好的,知道了。万一其他人有这个问题,这对我来说是这样的:

jQuery('#droppable').droppable({
    accept: '.drag',
    drop: function(e, ui) {
        var parentOffset = jQuery('#droppable').offset();
        var off = $(ui.draggable).clone().offset();


        if (!ui.draggable.hasClass("dropped"))
            jQuery(this).append(jQuery(ui.draggable).clone().addClass("dropped").draggable().css({'position': 'absolute', 'left': (ui.position.left - parentOffset.left) + 'px', 'top': (ui.position.top - parentOffset.top) + 'px'}));


        }
    });