在拖拽div的基础上,加了对图片拖拽的捕获处理,并对IE低版本浏览器的兼容性问题进行了处理。
该拖拽功能分为三个事件组成:
1.鼠标按下事件 onmousedown;
2.鼠标移动事件 onmousemove;
3.鼠标抬起事件 onmouseup。
效果图如下:
代码如下:
<!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>
* {
padding: 0;
margin: 0;
}
#box {
/* width: 150px;
height: 150px; */
/* background: red; */
position: absolute;
width: 100px;
}
</style>
</head>
<body>
<img src="./img/1.jpg" id="box" alt="">
<script>
var o = document.getElementById('box');//移动的物体
var vH=document.documentElement.clientHeight;//视图的高度
var vW=document.documentElement.clientWidth;//视图的宽度
//添加鼠标按下事件
o.onmousedown = function (e) {
e = e || window.event;
// console.log('donw');
//鼠标距离物体的相对位置(left,top)
var disX = e.clientX - this.offsetLeft,
disY = e.clientY - this.offsetTop;
//判断,若是在低版本IE上,为物体添加全局捕获
if (o.setCapture) {
o.setCapture