1.当我们鼠标按下的时候,获取鼠标在盒子内的坐标 (当鼠标按下时,鼠标在盒子中的坐标是固定的)

2.当鼠标移动时,得到鼠标在页面中的坐标 减去鼠标在盒子中的坐标  (当鼠标移动时,我们得到的坐标是一个一直都在变化的值)

3.在把得到的值赋给 模态框 (值一直是变化的,当我们把值给模态框时,模态框就会跟着鼠标移动)

代码如下:

<!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>.box {width: 300px;height: 200px;position: fixed;top: 50%;left: 50%;transform: translate(-50%, -50%);cursor: move;background-color: pink;}</style>
</head>
<body><div class="box"></div><script>//当我们鼠标按下的时候,获取鼠标在盒子内的坐标 (当鼠标按下时,鼠标在盒子中的坐标是固定的)// 当鼠标移动时,得到鼠标在页面中的坐标 减去鼠标在盒子中的坐标  (当鼠标移动时,我们得到的坐标是一个一直都在变化的值)// 在把得到的值赋给 模态框 (值一直是变化的,当我们把值给模态框时,模态框就会跟着鼠标移动)var box = document.querySelector('.box');box.addEventListener('mousedown',function(e){//鼠标按下 得到鼠标在盒子中的坐标var x = e.pageX - box.offsetLeft;var y = e.pageY - box.offsetTop;//鼠标移动的时候,把鼠标在页面中的坐标,减去鼠标在盒子内的坐标就是模态框的left和top值document.addEventListener('mousemove',move);function move(e){box.style.left = e.pageX - x + 'px';box.style.top = e.pageY - y + 'px';}//鼠标弹起,就让鼠标移动事件解除document.addEventListener('mouseup',function(){document.removeEventListener('mousemove',move)});})</script>
</body>
</html>

效果:

JavaScript实现简单拖拽框相关推荐

  1. javascript 实现简单拖拽(鼠标事件 mousedown mousemove mouseup)

    效果图: 可以通过 https://littlehiuman.github.io/06-Dragable/index.html 查看效果. https://github.com/littleHiuma ...

  2. 鼠标事件:onclick、onmousedown、onmouseup、onmouseover、onmouseout、onmouseenter、onmouseleave、鼠标的按键、 div简单拖拽

    鼠标事件:     onclick:在鼠标左健点击弹起之后触发的事件,即一次完整的鼠标点击过程.过程完成瞬间触发函数.     onmousedown:事件会在鼠标按键被按下时发生.     onmo ...

  3. JavaScript中的拖拽事件且限制出界

    JavaScript中的拖拽事件限制出界 JavaScript事件中很多都会用到拖拽,而在现实中很多拖拽是会限制在浏览器界面禁止出界的,下面是封装好的限制出界的拖拽事件. function drag( ...

  4. 拖拽生成html页面,简单拖拽即生成网页 VvvebJs

    原标题:简单拖拽即生成网页 VvvebJs 导读VvvebJs是一个开源的网页拖拽自动生成的Java库,你可以以简单拖拽的方式生成自己需要的网页样式,内置jquery和Bootstrap,你可以拖拽相 ...

  5. JavaScript实现鼠标拖拽效果

    JavaScript实现鼠标拖拽效果 前几篇博客一直在讲鼠标的移动事件相关的效果,今天再来讲一讲如何利用鼠标事件实现拖拽div块移动的效果.效果如图: HTML代码: <div id=" ...

  6. JavaScript实现鼠标拖拽登录框

    拖拽的本质是登录框获得光标的偏移来调整自身的偏移. 拖拽发生时,光标相对盒子的坐标不会变化,相对于页面的坐标却在变化,二者的差值就是盒子需要的. 两个注意点: 1. 赋值给盒子的什么属性 outer. ...

  7. javascript简单拖拽效果

    clientX,Y,鼠标的位置 document.documentElement.clientWidth:获取可视区域的宽度 document.documentElement.clientHeight ...

  8. unity图片拖不进去_Unity UGUI实现简单拖拽图片功能

    这一篇博客我们来使用 UGUI 实现图片的拖拽功能. 说到拖拽,那必然离不开坐标,UGUI 的坐标有点不一样,它有两种坐标,一种是屏幕坐标,还有一种就是 UI 在Canvas内的坐标(暂时叫做ugui ...

  9. javascript --- 原生的拖拽功能实现

    准备一个方块: <style>.drag{background-color:#aaf;position:absolute;} </style> <div class=&q ...

最新文章

  1. [转载]每个极客都应该知道的Linux技巧
  2. 详细的DOS命令说明
  3. 物生政可以报计算机专业吗,新高考物生政组合好吗?高考物生政可以报什么专业?...
  4. Linux(Ubuntu,Cent OS)环境安装mkfontscale mkfontdir命令以及中文字库
  5. 第5章 Python 数字图像处理(DIP) - 图像复原与重建14 - 逆滤波
  6. 组装我的计算机社会实践活动,暑期电脑销售社会实践心得体会
  7. 从数据仓库系统对比看Hive发展前景
  8. jenkins修改任务工作目录
  9. java使用jacob语言实现阅读文字,文字转语音
  10. WebSocket:5分钟从入门到精通
  11. 在应用程序中使用Runspace 1
  12. Editplus 破解
  13. 脚本重启电信天翼网关
  14. matlab循环求微分方程,MATLAB解微分方程
  15. 偶然看到的一篇文章中的励志诗
  16. pdf在线翻译_24个PDF在线小工具,免费在线翻译PDF文档。
  17. 【观察】联想“内生外化”:能干肯干、真招实招加速中小企业数字化转型
  18. 全球第一开源云ERP Odoo操作手册 模块安装和界面汉化指南
  19. 正则表达式-匹配A和B之间字符串
  20. Mac Big Sur keygen 您没有打开权限 问题;Unpacked 0 files.问题

热门文章

  1. 网络云盘本地加载工具——“CloudMounter”
  2. Java企业级开发概念辨析
  3. 模板方法设计模式(详解加案例)
  4. 美团:复杂风控场景下,如何打造一款高效的规则引擎
  5. BZOJ 1061: [Noi2008]志愿者招募 最小费用最大流
  6. HTML5实现类似刮刮卡的功能
  7. HTML nav 标签
  8. 数云融合|探究GPT家族的进化之路:GPT-3、GPT-3.5和GPT-4的比较分析
  9. cncf_根据2019年CNCF调查,Kubernetes的采用率持续上升
  10. HDU - 1004 (java map)