拖拽效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>拖拽效果demo</title>
<style>
.layer {
width: 150px;
height: 150px;
background-color: red;
cursor: move;
position: absolute;
}
</style>
</head>
<body>
<div class="layer">
aaaaa
</div>
<script>
let layer = document.querySelector('.layer')
let canMove = false
let x = 0, y = 0
let maxLeft = window.innerWidth - layer.offsetWidth
let maxtop = window.innerHeight - layer.offsetHeight
layer.onmousedown = function (e) {
canMove = true
x = e.pageX - layer.offsetLeft
y = e.pageY - layer.offsetTop
}
window.onmousemove = function (e) {
e.preventDefault();
if (canMove) {
let left = e.pageX - x
let top = e.pageY - y
if (left < 0) {
left = 0
} else if (left > maxLeft) {
left = maxLeft
}
if (top < 0) {
top = 0
} else if (top > maxtop)
top = maxtop
layer.style.left = left + 'px'
layer.style.top = top + 'px'
}
}
setTimeout(() => {
alert('弹出广告')
},2000)
window.onblur = function(){
canMove = false
}
window.onmouseup = function () {
canMove = false
}
</script>
</body>
</html>