鼠标点击移动元素(可关闭打开)

首先得了解

**event**里有些什么

screenX:鼠标位置相对于用户屏幕水平偏移量,而screenY也就是垂直方向的,此时的参照点也就是原点是屏幕的左上角。

clientX:跟screenX相比就是将参照点改成了浏览器内容区域的左上角

pageX:参照点也是浏览器内容区域的左上角

通过两个鼠标点击事件

onmousedown	//点击事件
onmousemove	//移动事件
onmouseup	//鼠标抬起事件

话不多说 直接上代码

var btn = document.getElementById("btn");
			
			function btnn(){
				
				btn.nextElementSibling.classList.toggle("odiv")
				onc();
				
			}
			
			function onc(){
			var box = document.getElementsByClassName("odiv")[0];
			box.onmousedown=function(v){
				var event= event || v;
				if(event.button == 0)
				{
					var x=event.pageX||event.clientX;
					var y=event.pageY||event.clientY;
					var offx=box.offsetLeft;
					var offy=box.offsetTop;
					document.onmousemove = function(ev)
					{
						var event= event || ev;
						var pax=event.pageX || event.clientX;
						var pay=event.pageY || event.clientY;
						
						box.style.left=(pax-x)+offx+"px";
						box.style.top=(pay-y)+offy+"px";
						box.style.cursor="move";
					}
				}
				
			}
			document.onmouseup=function(){
				document.onmousemove = null;
			}
			}

前端代码如下:

<head>
<style>
.odiv{
			width: 100px;
			height: 100px;
			background: red;
			position: relative;	//此类型一定得加上
}
</style>
</head>
	<body>
		<button id="btn" onclick="btnn()">打开</button>
		<div id="ww" class=""></div>
																											大佬勿喷
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值