如图实现div拖拽功能

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>拖拽功能</title>
<style>
*{
margin: 0;
padding: 0;
}
#div1{
width: 200px;
height: 200px;
background-color: red;
position: absolute;//设置绝对定位,相对于最近的已定位祖先元素
}
</style>
</head>
<body>
<div id="div1"></div>
<script>
var oDiv=document.getElementById("div1");
oDiv.onmousedown=function (e) {
var ileft=e.clientX -this.offsetLeft;//找到鼠标点击div的位置
var itop=e.clientY - this.offsetTop;
document.onmousemove =function (e) {//此处不能使用oDiv,否则跟不上事件响应
var divLeft= e.clientX - ileft;//计算div移动事件触发后,div的位置
var divTop = e.clientY - itop;
if(divLeft>document.documentElement.offsetWidth-oDiv.offsetWidth){//设置左右边界问题
divLeft=document.documentElement.offsetWidth-oDiv.offsetWidth;
}else if (divLeft<0){
divLeft=0;
}
if(divTop>window.innerHeight-oDiv.offsetHeight){//设置上下边界问题
divTop=window.innerHeight-oDiv.offsetHeight;
}else if (divTop<0){
divTop=0;
}
oDiv.style.left=divLeft+"px";//设置div的具体位置
oDiv.style.top=divTop+"px";
}
oDiv.onmouseup=function () {//清除鼠标移动事件
document.onmousemove = null;
}
}
</script>
</body>
</html>