鼠标拖拽

最近在开发中做提示信息要一直悬浮在表层,但是总是会覆盖底层文字,所以试写一个鼠标拖拽功能。

写一个html 页面,这里用到鼠标按下(onmousedown),鼠标移动(onmousemove),鼠标抬起(onmouseup)三个指令进行操作


<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			div{
				width:100px;
				height:100px;
				background-color: red;
				position: absolute;
				left:0;top:0;
			}
		</style>
	</head>

	<body>
        <div></div>
		<script>
//			 onmousedown   onmousemove onmouseup
              var oDiv=document.getElementsByTagName("div")[0];
              
              
              var cw=document.documentElement.clientWidth;
              var ch=document.documentElement.clientHeight;
              
              var dw=oDiv.clientWidth;
              var dh=oDiv.clientHeight;
              
              oDiv.onmousedown=function(e){
              	 var ev=e||window.event;
              	 var divX=ev.clientX-oDiv.offsetLeft;
              	 var divY=ev.clientY-oDiv.offsetTop;
              	
              	   document.onmousemove=function(e){
              	   	console.log(oDiv.offsetLeft)
              	   	   var ev=e||window.event;
              	   	   var x=ev.clientX-divX;
              	   	   var y=ev.clientY-divY;
              	   	  
              	   	   if(x<=0){
              	   	   	x=0;
              	   	   }
              	   	   if(y<=0){
              	   	   	  y=0;
              	   	   }
              	   	   if(x>=cw-dw){
              	   	   	  x=cw-dw
              	   	   }
              	   	   if(y>=ch-dh){
              	   	   	 y=ch-dh
              	   	   }
              	  
              	   	   
              	   	   oDiv.style.left=x+"px";
              	   	   oDiv.style.top=y+"px";
              	   }
              	   
              	   document.onmouseup=function(){
              	   	  document.onmousemove=null;
              	   	  document.onmouseup=null;
              	   }
              }
		</script>
	</body>

</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chain_fei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值