软测单独项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.6 KiB

11 months ago
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style>
#drag {
width: 300px;
height: 400px;
background-color:red;
background-size: cover;
position: absolute;
}
</style>
<script>
window.onload = function () {
var div = document.getElementById("drag");
var distanceX,distanceY;
//按下鼠标时,定义事件
div.onmousedown =function(evt){
evt= evt||window.event;
isDrag= true;
//保存鼠标相对于div的偏移量
distanceX= evt.offsetX;
distanceY= evt.offsetY;
// 按下鼠标时,定义document的移动事件
document.onmousemove=function(evt){
evt= evt||window.event;
console.log(isDrag+" onmousemove");
var divLeft= evt.clientX- distanceX;
var divTop = evt.clientY- distanceY;
var maxLeft= document.documentElement.clientWidth- div.offsetWidth;
var maxTop = document.documentElement.clientHeight- div.offsetHeight;
if(divLeft<0){
divLeft=0;
}
if(divTop<0){
divTop=0;
}
if(divLeft> maxLeft){
divLeft= maxLeft;
}
if(divTop >maxTop){
divTop= maxTop;
}
div.style.left= divLeft+"px";
div.style.top = divTop+"px";
return false;
}
document.onmouseup= function(){
document.onmousemove = null;
document.onmouseup= null;
}
}
}
</script>
</head>
<body>
<div id="drag"></div>
</body>
</html>