2

複数のdivを含み、スクロールできる2つのdivがあります。含まれているdivにドラッグ可能な垂直divがあります。私の水平divはソート可能であり、connectToSortableを介してドラッグ可能に接続します。

水平方向の並べ替えは、アイテムを並べ替えるときに水平方向にスクロールできます。ただし、垂直方向から水平方向にドラッグすると、純粋な並べ替えを行う場合のように水平方向のdivがスクロールしません。

scrollToやderivativesなどのプラグインを使用してdivをスクロールするためのすべてのエントリをすでに読んでいますが、これらは私の特定の問題には役立ちません。jQuery1.8.3とjQueryUI1.9.2を使用しています

ビューポートにドロップすることはできますが、ユーザーがドラッグして、並べ替えるときと同じように水平スクロールを機能させることができるようにしたいと思います。表示領域にドロップしてから並べ替えると、divがスクロールします。

ありがとう!

$(".playboxresults, .playboxrecommended").draggable({
        revert: "invalid",
        opacity: 0.95,
        containment: 'document',
        connectToSortable: "#divCurrentList",
        helper: function () {
            $copy = $(this).clone();
            return $copy;
        },
        appendTo: 'body',
        scroll: true,
        start: function (e, ui) {
            draggedItem = ui.item;
        }
    });
4

1 に答える 1

1

これは、append to body を使用すると、ヘルパーが本体の一部になり、水平 div をスクロールしないためです。

私もこの機能を実装していて、 sdespontのおかげで回避策を見つけました

helper: function(){
     $('#horizontalDiv').append('<div id="clone">' + $(this).html() + '</div>');
     $("#clone").hide();
     setTimeout(function(){
         $('#clone').appendTo('body');
         $("#clone").show();
     },1);
     return $("#clone");
},

これにより、最初に水平 div のヘルパー部分が作成され、次に本体に追加されます。

お役に立てれば。

こちらも参考にしてください

于 2013-01-29T09:09:04.217 に答える