【发布时间】:2015-02-19 00:19:35
【问题描述】:
我正在尝试实现类似 Trello 的功能,用于将项目从一个列表(阶段)拖动到另一个列表(阶段)。当列表/阶段太多时,我希望屏幕在从最左侧的列表拖动到最右侧的列表时自动滚动,这可能是“屏幕外”。
目前,我有两个可滚动的可排序级别(请参阅jsFiddle);
第一级水平滚动,第二级垂直滚动。也就是说,我可以水平移动列表,而只能垂直移动列表中的每个元素。
在第二层,我有:
$('.phase-block').sortable({
scroll: true,
connectWith: '.phase-block',
appendTo: '.phase-scroll',
helper: 'clone'
});
它将助手放入容器中并允许我拖动到最右侧的列表中,但不允许在列表中垂直滚动。
有没有一种方法可以同时保持两种可滚动性而不牺牲另一种?
【问题讨论】:
-
您可以通过使用 out 和 over 方法的参数的各种属性来检测助手离开父级。所以你的最终目标是让水平滚动工作并在项目列表中滚动?
-
appendTo:body似乎可以解决问题 -
我已经更新了问题(和 Fiddle),以便更容易理解我想要实现的目标。
-
将
overflow-y: scroll添加到正文。它似乎工作! -
@OnlyMAJ - 这并不能解决任何问题。它允许正文垂直滚动,但这不是 OP 想要的。
标签: jquery jquery-ui drag-and-drop jquery-ui-draggable jquery-ui-sortable