0

jsfiddle を参照してください

「ドラッグ可能な」オブジェクトをターゲットにドロップすると、次に元に戻すときにその特定の位置が使用されます。ドラッグ可能なオブジェクトの元の位置を保存し、常に元の位置 (最初の位置) に戻す方法はありますか? または、同じ目標を達成するために「それらを保存する」以外の解決策はありますか?

似たような質問を見つけましたが、元に戻すために位置 (左、上) がハードコーディングされています。私は一生懸命努力しましたが、解決策を見つけることができませんでした。

ありがとうございました。

4

2 に答える 2

3

ドラッグ可能なものをターゲットにドロップしたときに元に戻したくないと仮定していますが、ターゲットの外に移動した後は、残りの部分と一緒に元の位置に戻したいと考えています。ドラッグ可能?

その場合、この回答のコードはあなたが探しているものです。0, 0上と左の位置の値はハードコーディングされているように見えますが、ドラッグ可能なpositionCSS 属性が設定されたrelative後に設定されるため必要です。に戻す0, 0 元の位置に戻ります。

これはjsfiddleの例であり、例の変更されたコードも次のとおりです。

$('#target').droppable({

    // you need to set revert to a function as the 'out' event is turning it
    // into a function...
    drop: function(event, ui){
        ui.draggable.draggable('option', 'revert', function(){return false});
    },

    out: function(event, ui){
        ui.draggable.draggable('option', 'revert', function(){
            $(this).data('draggable').originalPosition = {
                top: 0,
                left: 0
            };
            return true;
        });
    }
});

お役に立てれば!マークを完全に見逃した場合はお知らせください。

于 2012-02-01T10:06:50.933 に答える