<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div{
width: 100px;
height: 100px;
background-color: red;
position: absolute;
}
</style>
</head>
<body>
<div></div>
<script>
//获取需要拖拽的元素
var divs = document.querySelector(‘div‘);
//元素的鼠标落下事件
divs.onmousedown = function(ev){
//event的兼容性
var ev = ev||event;
//获取鼠标按下的坐标
var x1 = ev.clientX;
var y1 = ev.clientY;
//获取元素的left,top值
var l = divs.offsetLeft;
var t = divs.offsetTop;
//给可视区域添加鼠标的移动事件
document.onmousemove = function(ev){
//event的兼容性
var ev = ev||event;
//获取鼠标移动时的坐标
var x2 = ev.clientX;
var y2 = ev.clientY;
//计算出鼠标的移动距离
var x = x2-x1;
var y = y2-y1;
//移动的数值与元素的left,top相加,得出元素的移动的距离
var lt = y+t;
var ls = x+l;
//更改元素的left,top值
divs.style.top = lt+‘px‘;
divs.style.left = ls+‘px‘;
}
//清除
document.onmouseup = function(ev){
document.onmousemove = null;
}
}
</script>
</body>
</html>