最终代码:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <meta charset="utf-8" /> <style type="text/css"> #divTest { width : 200px; height : 200px; background-color : red; border : 1px solid #00ffff; position : absolute; } </style> </head> <body> 测试一下 <div id="divTest"> </div> <script type="text/javascript"> var oDiv = document.getElementById("divTest"); oDiv.onmousedown = function (en) { var ev = ev || event; var disX = en.clientX - oDiv.offsetLeft; var disY = en.clientY - oDiv.offsetTop; if (oDiv.setCapture) { oDiv.setCapture(); } document.onmousemove = function (en) { var ev = ev || event; oDiv.style.top = en.clientY - disY + 'px'; oDiv.style.left = en.clientX - disX + 'px'; } document.onmouseup = function () { document.onmousemove = null; if (oDiv.releaseCapture) { oDiv.releaseCapture() } } return false;//阻止默认行为(如果页面中有文字,则会默认拖动文字),ie8及一下不行 } </script> </body> </html>
注意点:
1.获取当前div离上方和左方的距离之前使用了oDiv.style.left,获取不到
2.注意后面加px,老是容易忘记,然后还找不到错误原因浪费事件
3.
4.以后还是得实践,一味的看视频效果并不好,一定要明确最终目的,是需要掌握而不是单纯的看完视频。