您好,我在 HTML5 中遇到原生拖放问题。
在我的网站中,我打开了类似窗口弹出窗口之类的东西,我想允许用户更改该窗口的位置。到目前为止,我使用了自己的代码,效果很好,但是是时候将其重写为原生 HTML5。
在这里你可以找到我现在使用的代码:http: //jsfiddle.net/aapbf/6/
var box = document.getElementById('box');
function startDrag(e){
this.mouse = {x: e.clientX,y: e.clientY};
this.actual = {x: this.style.left, y: this.style.top};
}
function nowDrag(e){
this.style.left = this.actual.x+e.clientX-this.actual.x+'px';
this.style.top = this.actual.y+e.clientY-this.actual.y+'px';
this.textContent = e.clientX;
}
function handleDrop(){
this.style.left = this.actual.x+e.clientX-this.actual.x+'px';
this.style.top = this.actual.y+e.clientY-this.actual.y+'px';
}
box.addEventListener('drag',nowDrag,false);
box.addEventListener('dragstart',startDrag,false);
box.addEventListener('drop', handleDrop, false);
如何制作的想法很好(更改css属性)?如何避免创建拖动对象的阴影克隆?或者如何使阴影克隆对象成为对象的相同克隆,所以我不需要更改css属性来创建移动效果,甚至有可能吗?这将是更好的选择(从优化视图),因为阴影已经跟踪光标,这是我需要的。如果你第一次拖动它一切正常,但在第二次尝试时什么也没有发生,我不知道为什么。
编辑:
可能我写的不明白。我想在这个网站上产生这样的效果:
我预测你会写那个检查源代码,我做到了。我发现了什么?我讨厌互联网上的东西。即使我在 DRAG&DROP 部分找到了这个示例,也没有任何关于它的内容,他们使用自己的代码。这个例子在那里做什么,我不知道。总结一下:主要问题是阴影克隆拖动对象。