1

ある意味で隠れている div があります。リンクをクリックするとフェードインし、背後にある別の div がサイトの残りの部分を黒く塗りつぶします (ライト ボックス効果)。このdivにはドラッグアンドドロップの側面があります。オブジェクトを移動し、div を閉じて (本質的にそれを再び非表示にして、サイトの残りの部分を再表示します)、再度開くと、四角形はリセットされずに既に移動されています...

閉じるボタンで呼び出すことができる、移動した要素の位置を「リセット」する機能または方法はありますか? 私は周りを検索しましたが、ドラッグ アンド ドロップ イベントの位置のリセットに関連するものはまったく見つかりませんでした。

更新、これは効果的な方法ですが、機能しましたか?...:FIX:

function showpanel(){
    $("#lightbox, #lightbox-panel").fadeIn(300);
}
function hidepanel(){
    $("#lightbox, #lightbox-panel").fadeOut(300);
    $("#lightbox-panel").load("main.php #lightbox-panel");
}

DnD 関数 (w3schools から):

function allowDrop(ev)
{
ev.preventDefault();
}

function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}

function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
var itemVariable = document.getElementById(data).id.split('-');
}
4

1 に答える 1

0

画面上の元の位置を変数に保存し、位置を手動でリセットできます。

//original position is 0,0
var x-position = '0px'; 
var y-position = '0px';

次に(JQueryを使用していると思いますか?)リセット機能で

$('#draggable_object').css('left', x-position).css('top', y-position);
于 2012-09-17T17:52:24.847 に答える