将可拖动的对象拖到另一个中

时间:2016-08-18 19:14:57

标签: javascript jquery html jquery-ui draggable

我的问题是,如果有办法将jQuery拖入彼此?我知道这很模糊,所以我会告诉你我的意思。

我复制this(所以我可以编辑它)并对其应用了一些样式。

这是fiddle

你可以看到你可以拖动"拖动"元素进入第一个框。现在我需要一个解决方案,如果你将一个元素拖到另一个元素的顶部,该项应该放入另一个元素。我希望你能帮助我,我以前从未与之合作过。 (我不一定要使用jQuery UI。)

$(".container").droppable({
  // accept draggables only from #toolbox,
  // this will prevent cloning of the draggables(inside drop event handler),
  //  that already have been dropped inside #container
  accept: "#contain .drag",
  drop: function (event, ui) {
    // when a draggable is dropped: 
    // 1: clone it's helper 
    // 2: Make the helper draggable
    // 3: set containment to #container
    $(this).append($(ui.helper).clone().draggable({
      containment: "parent"
    }));
  }
});
$("#contain .drag").draggable({
  revert: "invalid",
  helper: "clone"
});

编辑:添加了一个新的小提琴,有更好的标记。 P.S .:感谢你编辑@Scott

1 个答案:

答案 0 :(得分:0)

我查看了它们被删除后的状态,然后使用jQuery使它们匹配第二个框中元素的状态。

首先,我添加了style类,然后删除了draggable类。但由于jQuery也使用绝对定位,我不得不从元素中删除它。

注意:元素为display: block,因此它们不会从左到右堆叠。

https://jsfiddle.net/p1fwf4L7/3/