下面的例子摘抄至?http://www.jb51.net/article/37905.htm
<!DOCTYPE HTML> <html> <head> <style type="text/css"> #main div{position:absolute;width:220px;height:150px;border:1px solid #999;} </style> <script type="text/javascript"> var a; document.onmouseup = function() { if (!a) return; a = ""; }; document.onmousemove = function(d) { if (!a) return; d = d || event; a.style.left = (d.clientX - b) + "px"; a.style.top = (d.clientY - c) + "px"; }; function $(o, e) { a = o; b = e.clientX - parseInt(a.style.left); c = e.clientY - parseInt(a.style.top); } </script> </head> <body> <div id="main"> <div style="left:100px;top:100px;background:#fc9;" onmousedown="$(this,event)">1</div> <div style="left:400px;top:100px;background:#9cf;" onmousedown="$(this,event)">2</div> <div style="left:700px;top:100px;background:#f9c;" onmousedown="$(this,event)">3</div> <div style="left:100px;top:300px;background:#9fc;" onmousedown="$(this,event)">4</div> <div style="left:400px;top:300px;background:#c9f;" onmousedown="$(this,event)">5</div> <div style="left:700px;top:300px;background:#cf9;" onmousedown="$(this,event)">6</div> </div> </body> </html>
?
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <style type="text/css"> #test{width:200px; height:200px; background:pink; cursor:move; position:absolute; left:100px; top:100px} </style> </head> <body> <div id="test"></div> <script type="text/javascript"> var obj = document.getElementById("test"); var b; obj.onmousedown = function(e) { b = true; var divLeft = parseFloat(window.getComputedStyle ? window.getComputedStyle(obj, null).left: obj.currentStyle.left); var divTop = parseFloat(window.getComputedStyle ? window.getComputedStyle(obj, null).top: obj.currentStyle.top); var e = e || event; var divX = e.clientX - divLeft; //计算鼠标和div边框的距离 var divY = e.clientY - divTop; document.onmousemove = function(e) { if (b) { var e = e || event; //兼容IE8及以下 obj.style.left = e.clientX - divX + "px"; obj.style.top = e.clientY - divY + "px"; } } } document.onmouseup = function() { b = false; } </script> </body> </html>
?
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <style type="text/css"> *{margin:0;padding:0} #testBox{ width:300px; height:300px; background:red; position:absolute; left:0; top:0} #test{width:200px; height:200px; background:pink; cursor:move; margin:30px} </style> </head> <body> <div id="testBox"> <div id="test">在这里才能移动</div> </div> <script type="text/javascript"> var obj = document.getElementById("test"); var objBox = document.getElementById("testBox"); var b; obj.onmousedown = function(e) { b = true; var divLeft = parseFloat(window.getComputedStyle ? window.getComputedStyle(objBox, null).left: objBox.currentStyle.left); var divTop = parseFloat(window.getComputedStyle ? window.getComputedStyle(objBox, null).top: objBox.currentStyle.top); var e = e || event; var divX = e.clientX - divLeft; //计算鼠标和div边框的距离 var divY = e.clientY - divTop; document.onmousemove = function(e) { if (b) { var e = e || event; //IE8及以下浏览器得写这句 objBox.style.left = e.clientX - divX