当鼠标按下拖拽某div时,位置会跳一下,这个怎么解决?
https://play.vuejs.org/#eNqlV29v20QY/yqHVamOlDmFl6GtxjQESExIE...
当鼠标按下拖拽某div时,位置会跳一下,这个怎么解决?
https://play.vuejs.org/#eNqlV29v20QY/yqHVamOlDmFl6GtxjQESExIE...
demo:
<style>
#Drag {
/*border: 5px solid #C4E3FD;*/
background: #C4E3FD;
width: 50px;
height: 50px;
top: 50px;
left: 50px;
z-index: 2;
}
</style>
<div id="Drag" onmousedown="moveBind(this, event)">1</div>
</div>
<br />拖放状态:<span id="idShow">未开始</span>
<script>
function moveBind(obj, evnt) {
//获得元素坐标。
var left = obj.offsetLeft;
var top = obj.offsetTop;
var width = obj.offsetWidth;
var height = obj.offsetHeight;
//计算出鼠标的位置与元素位置的差值。
var cleft = evnt.clientX - left;
var ctop = evnt.clientY - top;
document.onmousemove = function (doc) {
//计算出移动后的坐标。
var moveLeft = doc.clientX - cleft;
var moveTop = doc.clientY - ctop;
//设置成绝对定位,让元素可以移动。
obj.style.position = "absolute";
//当移动位置在范围内时,元素跟随鼠标移动。
obj.style.left = moveLeft + "px";
obj.style.top = moveTop + "px";
show("idShow", moveLeft, moveTop);
}
document.onmouseup = function () {
document.onmousemove = function () { }
};
}
</script>
解决你的问题的核心是这个:
3 回答3.3k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
1 回答2k 阅读✓ 已解决
5 回答1.9k 阅读
2 回答1k 阅读✓ 已解决
修改了一下:

