5

angularjs-dragula を使用していますが、画面から隠されているオーバーフロー コンテナーに自動スクロールできません。

これは私の問題です。
ドラグラに 5 つのコンテナーがあり、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)公式リポジトリから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 に答える