1

我有一个隐藏在某种意义上的 div,然后当您单击一个链接时,它会淡入,而另一个 div 后面的另一个 div 会使网站的其余部分变黑(灯箱效果)。我在这个 div 中有一个拖放方面。如果您移动一个对象,然后关闭 div(基本上再次隐藏它并重新显示站点的其余部分)然后重新打开它,正方形已经移动而不是重置......

是否有“重置”我可以在关闭按钮上调用的移动元素位置的功能或方法?我四处搜索,发现完全没有与重置拖放事件的位置有关。

更新,我让它工作了,虽然这是一种有效的做事方式吗?...:修复:

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 回答