Javascript 在本机拖放中克隆阴影&;加入HTML5

Javascript 在本机拖放中克隆阴影&;加入HTML5,javascript,css,html,Javascript,Css,Html,您好,我对HTML5中的本机拖放有问题 在我的网站上,我打开了一些类似窗口弹出窗口的东西,我想允许用户更改窗口的位置。到目前为止,我使用了自己的代码,工作非常完美,但现在是时候将其重写为原生HTML5了 在这里,您可以找到我现在使用的代码: 如何制作好的想法(更改css属性)?如何避免创建拖动对象的此阴影克隆?或者如何使阴影克隆对象成为对象的相同克隆,所以我不需要更改css属性来创建移动效果,甚至是可能的?这将是更好的选择(从优化视图),因为阴影已经跟踪光标,我需要的。 如果你第一次拖它,一切正

您好,我对HTML5中的本机拖放有问题

在我的网站上,我打开了一些类似窗口弹出窗口的东西,我想允许用户更改窗口的位置。到目前为止,我使用了自己的代码,工作非常完美,但现在是时候将其重写为原生HTML5了

在这里,您可以找到我现在使用的代码:

如何制作好的想法(更改css属性)?如何避免创建拖动对象的此阴影克隆?或者如何使阴影克隆对象成为对象的相同克隆,所以我不需要更改css属性来创建移动效果,甚至是可能的?这将是更好的选择(从优化视图),因为阴影已经跟踪光标,我需要的。 如果你第一次拖它,一切正常,但第二次尝试什么也没发生,我不明白为什么

编辑:

也许我写的不明白。我想在这个网站上看到这样的效果:

我预测你写的检查源代码,我做到了。 我发现了什么?我讨厌互联网上的东西。即使我在拖放部分发现了这个例子,但并没有任何相关内容,他们使用自己的代码。我不知道这个例子在那里做什么。
总而言之:主要问题是阴影克隆拖动对象。

您可以在
dragstart
处理程序中显式设置拖动(或“重影”)图像:

function startDrag(e){
    this.mouse = {x: e.clientX,y: e.clientY};
    this.actual = {x: this.style.left, y: this.style.top};
    e.dataTransfer.setDragImage(this, 0, 0); // set the drag image to be the element itself
}

这是一些。

你说得对。我怎么会错过这个功能。但当然不是那么简单,除了歌剧和IE,它在任何地方都有效。我去自杀。看在上帝的份上,我们如何才能使用新功能HTML5,即使在经过两年的乞讨之后,每个浏览器的工作方式都有所不同。是的。它们支持拖放,但不支持setDragImage()。所以,不管怎样,因为我不喜欢FF效果,它用线性渐变淡出大的拖动对象。我需要留在我自己的实现中。
function startDrag(e){
    this.mouse = {x: e.clientX,y: e.clientY};
    this.actual = {x: this.style.left, y: this.style.top};
    e.dataTransfer.setDragImage(this, 0, 0); // set the drag image to be the element itself
}