2025-04-22网页拖拽

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>

box{

width: 40px;
height: 30px;
background-color: red;
/* 重点:绝对定位,需要在浏览器中无限制移动 */
position:absolute;

}
</style>
</head>
<body>
<div id="box">
<div><img src="D:\微信图片_20250224170914.jpg" width="400px"></div>
</div>
<script>
// 当鼠标按下的时候,获取到鼠标距离div左侧、顶部的距离(固定不变)
// 当鼠标在网页中移动的时候,获取到鼠标在新的位置距离浏览器左侧、顶部的距离(随时发生变化)
let box = document.querySelector("#box")
// 鼠标在div标签上按下
box.onmousedown = function(e) {
// 获取鼠标在标签上距离左侧、顶部的距离
let ox = e.offsetX
let oy = e.offsetY
// 鼠标在网页中开始移动
document.onmousemove = function(e2) {
// 获取鼠标距离浏览器左侧、顶部的距离
let cx = e2.clientX
let cy = e2.clientY
// 计算div距离浏览器左侧、顶部的距离
let dx = cx - ox
let dy = cy - oy
// 修改div样式
box.style.left = dx + "px"
box.style.top = dy + "px"
}
}
// 鼠标在网页上抬起左键,取消移动操作
document.onmouseup = function() {
document.onmousemove = null;
}
</script>
</body>
</html>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容