实现可拖动div

发布于 2022-09-30 18:34:06 字数 3214 浏览 16 评论 0

转:diaohunda

实现可拖动div

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>自由拖动的DIV层方块</title>
  5. <meta http-equiv="content-type" content="text/html;charset=gb2312">
  6. <style type="text/css">
  7. #draggable{
  8. background-color:green;
  9. font-size:9pt;
  10. padding:30px;
  11. color:white;
  12. width:360px;
  13. height:324px;
  14. position:absolute;
  15. }
  16. </style>
  17. <script type="text/javascript">
  18. var rDrag = {
  19. o:null,
  20. init:function(o){
  21.   o.onmousedown = this.start;
  22. },
  23. start:function(e){
  24.   var o;
  25.   e = rDrag.fixEvent(e);
  26.                e.preventDefault && e.preventDefault();
  27.                rDrag.o = o = this;
  28.   o.x = e.clientX - rDrag.o.offsetLeft;
  29.                 o.y = e.clientY - rDrag.o.offsetTop;
  30.   document.onmousemove = rDrag.move;
  31.   document.onmouseup = rDrag.end;
  32. },
  33. move:function(e){
  34.   e = rDrag.fixEvent(e);
  35.   var oLeft,oTop;
  36.   oLeft = e.clientX - rDrag.o.x;
  37.   oTop = e.clientY - rDrag.o.y;
  38.   rDrag.o.style.left = oLeft + 'px';
  39.   rDrag.o.style.top = oTop + 'px';
  40. },
  41. end:function(e){
  42.   e = rDrag.fixEvent(e);
  43.   rDrag.o = document.onmousemove = document.onmouseup = null;
  44. },
  45.     fixEvent: function(e){
  46.         if (!e) {
  47.             e = window.event;
  48.             e.target = e.srcElement;
  49.             e.layerX = e.offsetX;
  50.             e.layerY = e.offsetY;
  51.         }
  52.         return e;
  53.     }
  54. }
  55. window.onload = function(){
  56.         var obj = document.getElementById('draggable');
  57. rDrag.init(obj);
  58. }
  59. </script>
  60. </head>
  61. <body>
  62. <div id="draggable">这个可以拖动!</a><div style="background-color:red;height:300px;"></div></div>
  63. </body>
  64. </html>

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文