1 , 拖拽
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8e78a94b50c65b940f35042097b5b15c.png)
<!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>
* {
margin: 0;
padding: 0;
}
div {
width: 100px;
height: 100px;
background-color: red;
position: absolute;
top: 0;
left: 0;
}
</style>
</head>
<body>
<div></div>
<script>
let div = document.querySelector('div')
div.addEventListener('mousedown', function (event) {
let x1 = event.offsetX
let y1 = event.offsetY
let fu = function(event) {
let x = event.clientX - x1
let y = event.clientY - y1
if (x < 20) {
x = 0
} else if (x > document.documentElement.clientWidth - div.offsetWidth) {
x = document.documentElement.clientWidth - div.offsetWidth
}
if (y < 20) {
y = 0
} else if (y > document.documentElement.clientHeight - div.offsetHeight) {
y = document.documentElement.clientHeight - div.offsetHeight
}
div.style.left = x + 'px'
div.style.top = y + 'px'
}
document.addEventListener('mousemove', fu)
document.addEventListener('mouseup', function () {
document.removeEventListener('mousemove', fu)
})
})
</script>
</body>
</html>
2 , 鼠标移动显示坐标
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d60d54d893ba7f9ca715104a91534abf.png)
<!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>
* {
margin: 0;
padding: 0;
}
div {
width: 100px;
height: 100px;
background-color: red;
color: #fff;
}
</style>
</head>
<body>
<div>坐标X,Y</div>
<script>
let div = document.querySelector('div')
div.addEventListener('mousemove', function (event) {
let x = event.clientX
let y = event.clientY
div.innerHTML = `坐标${x},${y}`
})
</script>
</body>
</html>
3 , 把外部图片拖拽到元素显示
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/da853c0047ae59aca13c088ba85d9d08.png)
<!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>
div {
width: 200px;
height: 200px;
background-color: pink;
}
</style>
</head>
<body>
<div></div>
<script>
let div = document.querySelector('div')
div.addEventListener('dragover', function (event) {
div.innerHTML = ''
event.preventDefault()
})
div.addEventListener('drop', function (event) {
console.log('元素被放开了');
let reader = new FileReader()
reader.readAsDataURL(event.dataTransfer.files[0])
reader.addEventListener('load', function() {
let img = document.createElement('img')
img.src = this.result
div.appendChild(img)
})
event.preventDefault()
})
</script>
</body>
</html>
4 , 元素自动跟随鼠标移动
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/03d630ff1ec66460e2a7642843ce15e4.png)
<!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>
div {
width: 100px;
height: 100px;
border: 1px solid red;
background-color: red;
position: absolute;
top: 0;
left: 0;
}
</style>
</head>
<body>
<div></div>
<script>
let div = document.querySelector('div')
document.addEventListener('mousemove', function (event) {
let x = event.clientX
let y = event.clientY
div.style.left = x - div.offsetWidth / 2 + 'px'
div.style.top = y - div.offsetHeight / 2 + 'px'
})
</script>
</body>
</html>