<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>拖拽</title>
<style type="text/css">
*{margin: 0;padding: 0;}
#box{
width: 100px;
height: 100px;
background: red;
position: absolute;
cursor: move;
}
</style>
</head>
<body>
<div id="box"></div>
</body>
<script type="text/javascript">
box.function(e){
var e = e || event; //获取event对象
var X = e.clientX-box.offsetLeft; //计算鼠标按下时到盒子的边界左边界距离
var Y = e.clientY-box.offsetTop;//计算鼠标按下时到盒子的边界上边界距离
document.function(e){
var e = e || event;
var moveX = e.clientX-X; //计算盒子被移动后到浏览器左边界的距离
var moveY = e.clientY-Y; //计算盒子被移动后到浏览器上边界的距离
var winW = document.documentElement.clientWidth; //获取浏览器可见宽度
var winH = document.documentElement.clientHeight; //获取浏览器可见高度
var maxW = winW-box.offsetWidth; //计算抛去盒子宽度浏览器最大可见宽度
var maxH = winH-box.offsetHeight; //计算抛去盒子高度浏览器最大可见高度
if (moveX<0) { //判断左边界距离小于0那么左边界距离等于0
moveX=0
}
if (moveY<0) { //判断上边界距离小于0那么上边界距离等于0
moveY=0
}
if (moveX>maxW) { //判断浏览器可见宽度
moveX=maxW
}
if (moveY>maxH) { //判断浏览器课件高度
moveY=maxH
}
box.style.left=moveX+"px"; //设置被移动后左边界的距离
box.style.top=moveY+"px"; //设置被移动后上边界的距离
}
}
document.function(){
document.null; //清空被移动的函数
}
</script>
</html>
JS高级.拖拽
最新推荐文章于 2024-07-10 14:36:18 发布