【发布时间】:2014-07-28 20:29:51
【问题描述】:
我正在尝试仅使用原生 JavaScript 来拖动元素。
当我拖动元素时,我希望它与鼠标指针单击的位置同步移动,我可以通过左上角的元素移动它,这很简单,但我在从确切的点击点移动它时遇到问题.
Javascript
function mouseMove(e){
if(dragging){
boxPos(sq,e);
}
}
function boxPos(el,e){
box = el.getBoundingClientRect();
mouse_top = e.clientY;
mouse_left = e.clientX;
diff_x = mouse_left - box.left;
diff_y = mouse_top - box.top;
el.style.top = (mouse_top + diff_y) +"px";
el.style.left = (mouse_left + diff_x) +"px";
}
sq 是一个 div,e 是事件。
我想做的是计算鼠标的位置,计算出左上角的差异并将其添加到左上角,但我得到了不想要的结果。 See fiddle
【问题讨论】:
标签: javascript drag-and-drop mouseevent