我正在使用jQuery UI Draggable 小部件。除了我现在需要添加自动滚动之外,它运行良好。也就是说,在拖动时,我想在鼠标位于窗口顶部或底部时滚动浏览器窗口。
我在 C 和 C++ 中做这样的事情有很多经验。我会设置一个标志来指示正在进行拖动操作。在鼠标移动消息处理程序中,我会设置一个计时器。在计时器的处理程序中,我会在适当的方向滚动窗口。当鼠标离开“触发”区域时,我会关闭计时器。我会使用一个计时器,这样即使鼠标没有移动,滚动也是有规律的。
谁能提供一些关于我如何开始使用 jQuery 和 Draggable 小部件的建议?有鼠标移动处理程序吗?我可以判断鼠标是在窗口的顶部还是底部?我可以滚动浏览器窗口吗?那么计时器问题呢?一种想法是为“触发”区域显示一些叠加层,但我的 jQuery 技能有些有限。或者,更好的是,我确信有人已经做过这样的事情了。有什么例子吗?
注意: Draggable 小部件支持自动滚动,但它会滚动容器元素。我需要滚动浏览器窗口。
编辑
我尝试将 Containment 选项设置为“document”,但没有明显效果。
$('.drag-handle').draggable({
axis: "y",
containment: "document",
scroll: true,
helper: buildHelper
});