拖拽

<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title></title>
	<style type="text/css">
		#box {width:100px; height:100px; background:red;position:absolute;}
	</style>
</head>
<body>
	
	<div id="box">
		
	</div>
	<script type="text/javascript">
		
		var box = document.getElementById('box');
		//定义全局变量
		var divX = 0; //div的x坐标
		var divY = 0; //div的y坐标
		var mouseX = 0; //鼠标的x坐标
		var mouseY = 0; //属性的y坐标
		var sw = false; //表示开关

		//绑定mouserdown事件
		box.onmousedown = function(evt){
			var e = evt || window.event;
			console.log(e);
			//获取div的位置
			divX = this.offsetLeft; //值是没有单位的
			divY = this.offsetTop;
			//获取鼠标所处的位置
			mouseX = e.clientX;
			mouseY = e.clientY;
			//开启开关
			sw = true;
		}

		//绑定mousemove事件
		document.onmousemove = function(evt){
			var e = evt || window.event;
			//只有开启了开关,才有效 
			if (sw) {
				var disX = e.clientX - mouseX;
				var disY = e.clientY - mouseY;
				//console.log(disX,disY);
				//利用相对论,设置div的left和top值就可以了
				box.style.left = divX + disX + "px"; //注意加单位
				box.style.top = divY + disY + "px"; 
			}	
		}
		//绑定mouseup事件
		document.onmouseup = function(){
			sw = false;
		}
	
	</script>
</body>
</html>

  

posted @ 2018-03-23 21:41  小白字太白  阅读(126)  评论(0编辑  收藏  举报