<body> <p></p></body>
p{ position: absolute; width: 200px; height: 200px; background: #369 }
window.onload = function(){ var op = document.getElementsByTagName("p")[0]; /*鼠标点击的位置距离p左边的距离 */ var disX = 0; /*鼠标点击的位置距离p顶部的距离*/ var disY = 0; op.onmousedown = function(){ var e = e || window.event; disX = e.clientX - op.offsetLeft; disY = e.clientY- op.offsetTop; document.onmousemove = function(e){ var e = e || window.event; // 横轴坐标 var leftX = e.clientX - disX; // 纵轴坐标 var topY =e.clientY - disY; if( leftX < 0 ){ leftX = 0; } /* 获取浏览器视口大小 document.document.documentElement.clientWidth*/ else if( leftX > document.documentElement.clientWidth - op.offsetWidth ){ leftX = document.document.documentElement.clientWidth - op.offsetWidth; } if( topY < 0 ){ topY = 0; } else if( topY > document.documentElement.clientHeight -op.offsetHeight ){ topY = document.documentElement.clientHeight - op.offsetHeight; } op.style.left = leftX + "px"; op.style.top = topY+"px"; } document.onmouseup = function(){ document.onmousemove = null; document.onmouseup = null; } } }
관련 추천:
드래그 이벤트 d ragstart에 대한 HTML5 설명, 드래그 그리고 드래그엔드
위 내용은 js에서 드래그 앤 드롭 이벤트를 구현하는 방법의 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!