将项目从一个 div 拖动到另一个,垂直滚动
Drag items from one div to other, with vertical scrolling
在启用垂直滚动的情况下尝试将项目从一个可排序 div 拖到另一个可排序时出现问题。
问题:有两个单独的列 div,我们如何从一列拖动到另一列,同时允许在列上垂直滚动(不是水平滚动),相互独立?
有效的示例如下(bootstrap 启用实现列):
<div class="demo row" style="overflow:auto">
<ul id="left-col" class="col-xs-6">
<li>Item 1</li>
<li>Item 2</li>
</ul>
<ul id="right-col" class="col-xs-6">
<li>Item 3</li>
<li>Item 4</li>
</ul>
</div>
和 JS:
$("#left-col").sortable({
cursor: 'move',
connectWith: '#right-col',
containment: '.demo'
});
$("#right-col").sortable({
cursor: 'move',
connectWith: '#left-col',
containment: '.demo'
});
此示例的问题在于滚动是在包含两列的容器上进行的。如果我们改为将 overflow-y:auto
选项添加到 dividual 列中的两个,那么我们将在 x
方向上无限滚动,如 this fiddle[=16= 中所示]
原来一个干净的解决方案是将每一列包装在自己的 div 中,如下所示:
<div style="overflow:hidden;position:relative">
并将列的位置设置为static
。然后它就像一个魅力。
在启用垂直滚动的情况下尝试将项目从一个可排序 div 拖到另一个可排序时出现问题。
问题:有两个单独的列 div,我们如何从一列拖动到另一列,同时允许在列上垂直滚动(不是水平滚动),相互独立?
有效的示例如下(bootstrap 启用实现列):
<div class="demo row" style="overflow:auto">
<ul id="left-col" class="col-xs-6">
<li>Item 1</li>
<li>Item 2</li>
</ul>
<ul id="right-col" class="col-xs-6">
<li>Item 3</li>
<li>Item 4</li>
</ul>
</div>
和 JS:
$("#left-col").sortable({
cursor: 'move',
connectWith: '#right-col',
containment: '.demo'
});
$("#right-col").sortable({
cursor: 'move',
connectWith: '#left-col',
containment: '.demo'
});
此示例的问题在于滚动是在包含两列的容器上进行的。如果我们改为将 overflow-y:auto
选项添加到 dividual 列中的两个,那么我们将在 x
方向上无限滚动,如 this fiddle[=16= 中所示]
原来一个干净的解决方案是将每一列包装在自己的 div 中,如下所示:
<div style="overflow:hidden;position:relative">
并将列的位置设置为static
。然后它就像一个魅力。