我正在构建一个纯Javascript的拖放应用程序。我已经编写了拖拽部分的代码,元素可以在页面中随机拖放。现在,我已经构建了一个包含9个盒子(Div)的拖放区域,其中9个div必须被拖放。我想不出一种方法可以帮助我完成这项任务。我正在考虑让这些div“绝对”,并使用top和left属性重新构建它们。但是我该如何继续呢?我拖动的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';
}
};
};发布于 2017-08-04 01:06:32
我会让目标识别一个"onmouseenter“,并将该目标的布尔值设置为true,然后将其设置为false "onmouseleave”。然后"onmouseup“检查所有布尔值,如果div1已被删除并且target1为真,则div1位置=目标位置。
我知道这是一个伪代码的答案,但这只是我对解决问题的思考过程。
https://stackoverflow.com/questions/45489912
复制相似问题