0

我创建了一个简单的代码来拖放两个 div 元素,但效果很好div 1div 2效果不佳。
鼠标光标未正确站立div 2

请查看问题底部的在线演示链接。

HTML

<div class="draggable"></div>
<div class="draggable"></div>

CSS

div.draggable {
  background-color:yellowgreen; 
  width:150px; 
  height:100px; 
  border:1px solid #ffff66; 
  position:relative; 
}

JavaScript

var element = null;
var elemPosL = 0;
var elemPosT = 0;
var isMouseDown = false;

document.onmousedown = function(e) {
    element = e.target;
    if (element.className === "draggable") {
        elemPosL = e.clientX - element.offsetLeft;
        elemPosT = e.clientY - element.offsetTop;
        isMouseDown = true;
    }
};

document.onmousemove = function(e) {
    if (isMouseDown) {
        element.style.left = e.clientX - elemPosL + "px";
        element.style.top = e.clientY - elemPosT + "px";
    }
};


document.onmouseup = function() {
    isMouseDown = false;
    element = null;
};

你可以在网上看到

4

1 回答 1

1

使用position: absolute;修复它。

如果你想要相对,请检查在 JavaScript 中相对定位的元素上实现拖放

于 2013-07-08T05:47:37.843 回答