【发布时间】:2017-08-04 01:06:32
【问题描述】:
我正在纯粹用 Javascript 构建一个拖放应用程序。我已经编写了可以在页面中随机拖放元素的拖动部分。现在,我建立了一个包含 9 个框(div)的放置区,其中必须放置 9 个 div。我想不出一种方法可以帮助我完成这项任务。我正在考虑将这些 div 设为“绝对”并使用顶部和左侧属性重新构建它们。但是我应该如何进一步进行?我拖动的 div 即 onmousedown 将如何知道它应该放在指定位置的 onmouseup 。示例:如果我选择一个编号为 1 的 div,它应该下降到编号为 1 的目标。
这是我用于选择和拖动的 Javascript:
window.onload = function() {
var el = document.getElementById('block1');
var mover = false, x, y, posx, posy, first = true;
el.onmousedown = function() {
mover = true;
};
el.onmouseup = function() {
mover = false;
first = true;
};
el.onmousemove = function(e) {
if (mover) {
if (first) {
x = e.offsetX;
y = e.offsetY;
first = false;
}
posx = e.pageX - x;
posy = e.pageY - y;
this.style.left = posx + 'px';
this.style.top = posy + 'px';
}
};
};
【问题讨论】:
标签: javascript html css drag-and-drop