js鼠标拖动事件

html及css样式

<div id="box"></div>
			*{padding: 0;margin: 0;}
			#box{
				width: 100px;
				height: 100px;
				background: #FFC0CB;
				position: absolute;
			}

js实现拖动效果

			box.onclick=function(e){
				// console.log(e.target) //事件源
				// console.log(e.clientX,e.clientY) //距离当前窗口距离
				// console.log(e.offsetX,e.offsetY) //距离当前被点击物的距离
				// console.log(e.pageX,e.pageY) //距离当前页面距离
				// console.log(this.offsetWidth,this.offsetHeight) //当前被点击物的宽高
				// console.log(window.innerWidth,window.innerHeight) //当前窗口的宽高
				// console.log(this.offsetLeft,this.offsetTop)//当前被点击物距离窗口的距离
			}
			function tuodong (id){
			var box =document.getElementById(id)
			box.onmousedown=function(e){
				var w = e.offsetX
				var h = e.offsetY
				document.onmousemove= function(e1){
					var l = e1.clientX-w
					var t = e1.clientY-h
					var m = window.innerWidth
					var n = window.innerHeight
					if (e1.clientX-w<=0) {
						l= 0
					} else if (e1.clientX-w<=m-box.offsetWidth) {
						l = e1.clientX-w					
					} else{
						l = m-box.offsetWidth
					}
					if (e1.clientY-h<=0){
						t=0
					}else if (e1.clientY-h<=n-box.offsetHeight) {
						t = e1.clientY-h					
					} else{
						t = n-box.offsetHeight
					}
					box.style.left=l+"px"
					box.style.top=t+"px"
				box.onmouseup=function(){
					document.onmousemove=null
				}
			}
			}
			}
			tuodong('box')
		</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值