代码拉取完成,页面将自动刷新
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
#box1 {
position: absolute;
width: 100px;
height: 100px;
background-color: pink;
}
#box2 {
position: absolute;
width: 100px;
height: 100px;
background-color: skyblue;
left: 200px;
top: 200px;
}
</style>
</head>
<body>
<div id="box1"></div>
<div id="box2"></div>
</body>
<script>
// 拖拽box1元素
// 流程:1.鼠标在被拖拽元素上按下去别松手,开始拖拽;
// 2. 当鼠标移动时被拖拽元素跟随鼠标移动;
// 3.当鼠标松开时,被拖拽元素被固定在当前位置;
var box1 = document.getElementById("box1");
// 为box1绑定一个鼠标按下事件
box1.onmousedown = function (event) {
// 求div的偏移量,这样在鼠标拖拽的过程中,指针始终在点的位置,而不会跑到左上角去,体验感upup~
var ol = event.clientX - box1.offsetLeft; // 水平
var ot = event.clientY - box1.offsetTop; // 垂直
// 为document绑定一个onmousemove事件
document.onmousemove = function (event) {
// onmousemove事件一定要在onmousedown里面,因为是点了之后才开始动的
// 当鼠标移动时被拖拽元素跟随鼠标移动 onmousemove
// 要先获取鼠标坐标
var left = event.clientX - ol;
var top = event.clientY - ot;
// 修改box1的位置
box1.style.left = left + "px";
box1.style.top = top + "px";
};
// 为元素绑定一个鼠标松开事件
document.onmouseup = function () {
// 当鼠标松开时,被拖拽元素固定在当前位置,用onmouseup
// 相当于是取消onmousemove事件
document.onmousemove = null;
// 取消onmouseup事件,一次性事件
document.onmouseup = null;
};
// 当拖拽网页中的内容时,浏览器默认会搜索引擎中搜索内容,此时会导致拖拽功能的异常;
// 这是浏览器提供的默认行为,如果不希望发生这个行为,则可以通过return false取消这个行为
return false;
}
</script>
</html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。