5

我正在使用 angularjs-dragula,但无法自动滚动到屏幕上隐藏的溢出容器。

这是我的问题:
我的 Dragula 中有五个容器,而第 5 个容器隐藏在屏幕上。现在我想从第一个容器中拖动一个元素并将其放入第 5 个容器中。但我不能这样做,因为屏幕不会自动滚动到第 5 个容器。

angularjs-dragula 是否支持垂直滚动?还是有我失踪的财产?

示例 Plunkr:https ://plnkr.co/edit/iD38MugmHIx298p7OlrI?p=preview

var app = angular.module('angular-dragula-demo', [angularDragula(angular)]);
app.controller('MainCtrl', function($scope, dragulaService) {
    dragulaService.options($scope, 'fifth-bag', {
        copy: true
    });
});
4

1 回答 1

2

似乎此选项未在 Dragula 中实现。Dragula 的开发人员建议使用模块dom-autoscroller

在 Github 上查看此问题:https ://github.com/bevacqua/dragula/issues/121

要使用 AngularJS 实现此功能:

1)从官方repo下载dom-autoscroller : https ://github.com/hollowdoor/dom_autoscroller/blob/master/dist/dom-autoscroller.min.js

2)将其包含在您的项目文件夹中

3)在您的控制器中启用自动滚动:

// ENABLE AUTOSCROLL FOR GOALS LIST
var scroll = autoScroll([
    document.querySelector('.list')
], {
    margin: 30,
    maxSpeed: 10,
    scrollWhenOutside: true,
    autoScroll: function () {
        //Only scroll when the pointer is down
        return this.down
    }
});
于 2017-10-30T16:52:43.680 回答