当前位置: 首页 > 编程笔记 >

如何使用JavaScript和CSS创建可拖动的HTML元素?

胡星汉
2023-03-14
本文向大家介绍如何使用JavaScript和CSS创建可拖动的HTML元素?,包括了如何使用JavaScript和CSS创建可拖动的HTML元素?的使用技巧和注意事项,需要的朋友参考一下

要使用JavaScript和CSS创建可拖动的HTML元素,代码如下-

示例

<!DOCTYPE html>
<html>
<style>
   body {
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
   }
   .dragDiv {
      position: absolute;
      z-index: 9;
      text-align: center;
      border: 1px solid #d3d3d3;
      padding: 30px;
      cursor: move;
      z-index: 10;
      background-color: rgb(108, 24, 177);
      color: #fff;
      font-size: 20px;
      font-weight: 500;
   }
</style>
<body>
<h1>Draggable DIV Element Example</h1>
<h2>Click and drag the below element to move it around</h2>
<div class="dragDiv">
This div can be moved around
</div>
<script>
   dragElement(document.querySelector(".dragDiv"));
   function dragElement(ele) {
      var pos1 = 0,
      pos2 = 0,
      pos3 = 0,
      pos4 = 0;
      if (document.querySelector(ele.id + "header")) {
         document.getElementById(
            ele.id + "header"
         ).onmousedown = dragMouseDown;
      }
      else {
         ele.onmousedown = dragMouseDown;
      }
      function dragMouseDown(e) {
         e = e || window.event;
         e.preventDefault();
         pos3 = e.clientX;
         pos4 = e.clientY;
         document.onmouseup = closeDragElement;
         document.onmousemove = elementDrag;
      }
      function elementDrag(e) {
         e = e || window.event;
         e.preventDefault();
         pos1 = pos3 - e.clientX;
         pos2 = pos4 - e.clientY;
         pos3 = e.clientX;
         pos4 = e.clientY;
         ele.style.top = ele.offsetTop - pos2 + "px";
         ele.style.left = ele.offsetLeft - pos1 + "px";
      }
      function closeDragElement() {
         document.onmouseup = null;
         document.onmousemove = null;
      }
   }
</script>
</body>
</html>

输出结果

上面的代码将产生以下输出-


通过拖动来移动div时-


 类似资料:
  • 我看到的所有网站都可以在检查元素窗口的控制台中使用此功能进行编辑。我要禁用这个操作。我正在建立一个考试的结果表,我不想让其他人编辑(即使是本地的,使它看起来逼真) 如果这个布尔值更改为true,任何人都可以编辑网站。那么如何确保这种情况不会发生呢

  • 本文向大家介绍如何使用CSS和JavaScript创建报价幻灯片?,包括了如何使用CSS和JavaScript创建报价幻灯片?的使用技巧和注意事项,需要的朋友参考一下 要使用CSS和JavaScript创建报价幻灯片,代码如下- 示例 输出结果 上面的代码将产生以下输出-

  • 问题内容: 我正在matplotlib中的轴对象上绘制图例,但是声称将其放置在智能位置的默认定位似乎不起作用。理想情况下,我希望图例可由用户拖动。如何才能做到这一点? 问题答案: 注意:现在已内置到matplotlib中 将按预期工作 好吧,我发现解决方案的点点滴滴分散在邮件列表中。我提出了一个很好的模块化代码块,您可以插入并使用…在这里: …以及您的代码中… 我给Matplotlib-users

  • 问题内容: 我正在使用jQuery CSS函数设置某些元素的样式 这可行,但是页面加载后会动态创建部分元素。这应该是 我被创建的事件困住了。有任何想法吗? 问题答案: 创建的元素没有事件(无论如何都无法通用)。你可以 将规则添加到样式表,以便将其自动应用于新创建的元素 创建元素时,链接 css() 方法: 动态创建一个新的样式表:

  • 是否可以在HTML页面上用JavaScript保存动态添加的HTML元素?例如,当我创建一些HTML元素(,,...)使用JavaScript,然后将它添加到一个页面上,它就会以它应有的样子出现在页面上,但当我重新加载或离开页面,然后返回时--所有那些元素都消失了。所以,我如何做,使他们不会消失后,重新加载或离开页面(如果这是可能的)。

  • 本文向大家介绍如何使用CSS和JavaScript创建密码验证表单?,包括了如何使用CSS和JavaScript创建密码验证表单?的使用技巧和注意事项,需要的朋友参考一下 要使用CSS和JavaScript创建密码验证表单,代码如下- 示例 输出结果 上面的代码将产生以下输出- 在输入用户名和密码-