相互叠放我有通过jquery-ui
标记为sortable
两个列表。每个列表包含标记为draggable
一个list item
:拖动项目的排序
正常使用情况下,我在其中拖放在一个相对正常速度的项目(请注意...正常是一个模糊的描述,但我想不出一个更好的),项目将拖动并没有任何问题的下降,从一个列表到另一个或得到重新安排自己的名单中:
但是,如果我迅速拖从列表中删除项目到另一个或内部他们自己的名单,他们倾向于堆叠在一起,而看到最底层的唯一方法就是尝试移动顶部。即使这样,有时我无法找到所有失踪(可能是底部的项目),甚至试图左右拖动想必顶的项目和重新排列后:
这里的HTML
:
<div id="available-group" class="noselect">
<h1 class="group-header ui-widget-header">Group 1</h1>
<ul class="sortable">
<li class="draggable ui-state-default">Item 6</li>
<li class="draggable ui-state-default">Item 7</li>
<li class="draggable ui-state-default">Item 8</li>
<li class="draggable ui-state-default">Item 9</li>
<li class="draggable ui-state-default">Item 10</li>
</ul>
</div>
<div id="selected-group" class="noselect">
<h1 class="group-header ui-widget-header">Group 2</h1>
<ul class="sortable">
<li class="draggable ui-state-default">Item 1</li>
<li class="draggable ui-state-default">Item 2</li>
<li class="draggable ui-state-default">Item 3</li>
<li class="draggable ui-state-default">Item 4</li>
<li class="draggable ui-state-default">Item 5</li>
</ul>
</div>
的CSS
:
.sortable {
list-style-type: none;
margin: 0px 0px 10px 0px;
padding: 0;
border: 1px solid black;
min-height: 40px;
}
.sortable>li {
margin: 1px;
padding: 5px;
}
#available-group, #selected-group {
width: 170px;
user-select: none;
margin: 10px 150px 10px 0px;
min-height: 300px;
float: left;
}
的JavaScript
:
$(".sortable").sortable({
revert: "invalid"
});
$(".draggable").draggable({
connectToSortable: ".sortable",
revert: "invalid"
});
我一直在试图解决这个问题,现在几天,似乎无法查明问题。如何阻止快速拖放造成的重叠“错误”?
编辑:
这里的jsfiddle:http://jsfiddle.net/xBB5x/6123/