在与这个问题斗争和斗争之后,我别无选择,只能寻求帮助!我的情况是这样的:我有一些绝对定位的元素。这些元素中的每一个都有自己的属性“ top ”和“ left ”。我遇到的最大问题是当我尝试对物品进行分类时。
$(".container").sortable({
containment: ".container",
cursor: 'move',
items: '.element',
helper: 'clone',
placeholder: 'new-placeholder',
forcePlaceholderSize: true,
tolerance: 'pointer',
revert: true,
scroll: false,
start: function(event, ui) {
event.stopPropagation();
$(".new-placeholder").css("left", ui.helper.position().left);
$(".new-placeholder").css("top", ui.helper.position().top);
$(".new-placeholder").css("height", ui.helper.height());
$(".new-placeholder").css("width", ui.helper.width());
},
change: function(event, ui) {
console.log("Placeholder index: " + ui.placeholder.index());
}
}).disableSelection();
如您所见,当拖动元素结束时,元素应该改变它们的位置。有没有更好的方法来做到这一点?我无法摆脱绝对位置,这是主要问题。我知道解决方案必须是更改、更新和停止方法,但我自己无法弄清楚。
到目前为止,我得到的只是在将项目拖到另一个元素上时获取占位符的新索引,但是¿我怎样才能更改占位符的位置并根据它对其余元素进行排序?