浏览器内实现盒子拖拽

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>拖拽</title>
	<style>
		#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 moveX = e.clientX-X;//计算盒子被移动后到浏览器左边界的距离
			var moveY = e.clientY-Y;//计算盒子被移动后到浏览器上边界的距离
			var winX = document.documentElement.clientWidth;//可见窗口的宽
			var winY = document.documentElement.clientHeight;//可见窗口的高
			var maxW = winX-box.offsetWidth;//可移动区间
			var maxH = winY-box.offsetHeight;
				if (moveX<0) {
					moveX=0;
				}
				if (moveY<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.onmousemove = null;//清空被移动的函数
	}
</script>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值