html,body{ width:100%;height:100%;margin:0px;padding:0px; } #box{ width:100px;height:100px;background:pink;position:absolute; }
<div id="box"></div>
window.onload = function(){ var box = document.getElementById('box'); box.onmousedown = function(e){ var offsetX = e.offsetX; var offsetY = e.offsetY; document.body.onmousemove = function(e){ box.style.left = e.pageX-offsetX + 'px'; box.style.top = e.pageY-offsetY + 'px'; } document.body.onmouseup = function(){ document.body.onmousemove = null; document.body.onmouseup = null; } } }
在function里面传了一个e,console.log打印出来,他是个对象,根据不同的事件打印出不同的对象。
最后鼠标抬起的时候(onmouseup ),去掉鼠标移动和鼠标抬起事件。