2014-02-26 66 views
0

我试图创建一个简单的功能,用户可以拖放图像在两个div之间。我遇到的问题是,当您将图像拖到另一张图像的顶部时,它会在该img标签内结束。HTML 5拖放多个图像

您可以在这里看到的错误: http://codepen.io/anon/pen/smgyd

我想发生的是,图像只是坐在对方的下面,拖动一个在另一个之上,甚至之后。

我希望我已经明确了我的问题。任何意见是极大的赞赏。谢谢。

回答

0

请在这里附上你的代码。

剧本不正是你想要什么:

function drop(ev) 
{ 
    ev.preventDefault(); 
    var data=ev.dataTransfer.getData("Text"); 
    ev.target.appendChild(document.getElementById(data)); 
} 

如果当鼠标在图像的ev.target等于该图像下降的图像。 您将需要找到当前目标的所需下拉式接收器。

如果你可以使用jQuery你可以使用$.closest("div");,因为你是在香草JS,这里是一个线程可以帮助你在这个任务:Finding closest element without jQuery

+0

非常感谢您的回答,但如果我是诚实的我的JS技能是可怕的。我只是遵循W3方法通过HTML5和JS拖放。你能确切地知道我必须改变什么吗?为宝贝道歉,我真的很感谢你的帮助。 – Lysergix

+0

你不是婴儿。这不是一件容易的事。你这样做是为了学习吗?你可以使用jQuery + jQuery - 用户界面为该https://jqueryui.com/droppable/ –

+0

对于我的网站,我有一个div的图像列表,我希望用户能够拖入另一个div,并且然后打印该div。基本上他们正在创建一个物品背包,然后将其打印出来。所以一个div被称为“背包”和其他“项目”。 我会研究那个jQuery链接。再次感谢你的帮助。 – Lysergix