js原生手写一个拖拽小功能

先上效果图

附上代码

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
  <style>
    .four {
      width: 200px;
      height: 100px;
      background-color: #00f;
      position: relative;
    }
  </style>
</head>

<body>
  <div class="four" style="top:0;left:0"></div>
  <script>
    var div = document.getElementsByTagName('div')[0];
    function drag() {
      var disX,
        disY;
      div.addEventListener('mousedown', function (e) {
        var e = e || window.event;
        disX = e.pageX - parseInt(div.style.left);
        disY = e.pageY - parseInt(div.style.top);
        document.addEventListener('mousemove', move);
        document.addEventListener('mouseup', function (e) {
          document.removeEventListener('mousemove', move);
        })
      })
      function move(e) {
        var e = e || window.event;
        div.style.left = (e.pageX - disX) + 'px';
        div.style.top = e.pageY - disY + 'px';
      }
    }
    drag()
  </script>
</body>

</html>
相关推荐
吃好喝好玩好睡好2 小时前
Flutter/Electron应用无缝适配OpenHarmony:全链路迁移方案与实战
javascript·flutter·electron
黛色正浓2 小时前
【React】极客园案例实践-文章列表模块
javascript·react.js·ecmascript
JokerLee...3 小时前
【Vtable自定义样式】
前端·javascript·vtable
BD_Marathon3 小时前
【JavaWeb】JS_JSON在服务端的使用
javascript
一 乐3 小时前
海鲜商城购物|基于SprinBoot+vue的海鲜商城系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot
Nan_Shu_6144 小时前
熟悉RuoYi-Vue-Plus-前端 (2)
前端·javascript·vue.js
酒尘&4 小时前
JavaScript官网Promise篇
开发语言·前端·javascript·前端框架·交互
还算善良_4 小时前
【Vue】vue3实现文件预览组件(预览服务使用kkfileview)
javascript·vue.js·ecmascript
七夜zippoe4 小时前
基于ReAct框架的智能体构建实战 - 从原理到企业级应用
前端·javascript·react.js·llm·agent·react
alamhubb4 小时前
vue也支持声明式UI了,向移动端kotlin,swift看齐,抛弃html,pug升级版,进来看看新语法吧
前端·javascript·前端框架