js制作div拖动事件,div拖动效果

5 篇文章 0 订阅

总共使用三个鼠标事件:
onmouseup:鼠标抬起事件
onmousedown:鼠标按下事件
onmousemove:鼠标移动事件

style样式代码

给整个document加相对定位,给要拖动的div加绝对定位

<style type="text/css">
			.box{
				width: 200px;
				height: 200px;
				background: #00FFFF;
				position: absolute;
				top: 0;
				left: 0;
			}
		</style>

body内容

<body>
		<div class="box">
			
		</div>
		
	</body>

js代码

<script type="text/javascript">
			var box=document.querySelector('.box');
			var starX=null;
			var starY=null;
			var left=null;
			var top1 =null;
			box.onmousedown=function(ev){//给要移动的那个div加鼠标按下事件
				ev = ev || window.event;//event做ie兼容
				 starX=ev.pageX;
				 starY=ev.pageY;
				 left=box.offsetLeft;//到父级的左边距离
				 top1 =box.offsetTop;//到父级的顶部距离
				 document.onmousemove=function(ev){//给整个文档加移动事件
					 ev = ev || window.event;
					 var dia=ev.pageX - starX;//鼠标现在的距离减去之前的距离 得到一个差值 
					 var dib=ev.pageY - starY;
					 box.style.top = top1+dib+'px';//重新给box的顶部和left赋值
					 box.style.left=left+dia+'px';
				 }
				document.onmouseup=function(){
					 document.onmousemove=null;//解除绑定移动事件
					 document.onmouseup=null;//解除绑定抬起事件
				 }
				 console.log(starX,starY)
			}
		</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值