JavaScript实现简单拖拽框
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实现简单拖拽框相关推荐
- javascript 实现简单拖拽(鼠标事件 mousedown mousemove mouseup)
效果图: 可以通过 https://littlehiuman.github.io/06-Dragable/index.html 查看效果. https://github.com/littleHiuma ...
- 鼠标事件:onclick、onmousedown、onmouseup、onmouseover、onmouseout、onmouseenter、onmouseleave、鼠标的按键、 div简单拖拽
鼠标事件: onclick:在鼠标左健点击弹起之后触发的事件,即一次完整的鼠标点击过程.过程完成瞬间触发函数. onmousedown:事件会在鼠标按键被按下时发生. onmo ...
- JavaScript中的拖拽事件且限制出界
JavaScript中的拖拽事件限制出界 JavaScript事件中很多都会用到拖拽,而在现实中很多拖拽是会限制在浏览器界面禁止出界的,下面是封装好的限制出界的拖拽事件. function drag( ...
- 拖拽生成html页面,简单拖拽即生成网页 VvvebJs
原标题:简单拖拽即生成网页 VvvebJs 导读VvvebJs是一个开源的网页拖拽自动生成的Java库,你可以以简单拖拽的方式生成自己需要的网页样式,内置jquery和Bootstrap,你可以拖拽相 ...
- JavaScript实现鼠标拖拽效果
JavaScript实现鼠标拖拽效果 前几篇博客一直在讲鼠标的移动事件相关的效果,今天再来讲一讲如何利用鼠标事件实现拖拽div块移动的效果.效果如图: HTML代码: <div id=" ...
- JavaScript实现鼠标拖拽登录框
拖拽的本质是登录框获得光标的偏移来调整自身的偏移. 拖拽发生时,光标相对盒子的坐标不会变化,相对于页面的坐标却在变化,二者的差值就是盒子需要的. 两个注意点: 1. 赋值给盒子的什么属性 outer. ...
- javascript简单拖拽效果
clientX,Y,鼠标的位置 document.documentElement.clientWidth:获取可视区域的宽度 document.documentElement.clientHeight ...
- unity图片拖不进去_Unity UGUI实现简单拖拽图片功能
这一篇博客我们来使用 UGUI 实现图片的拖拽功能. 说到拖拽,那必然离不开坐标,UGUI 的坐标有点不一样,它有两种坐标,一种是屏幕坐标,还有一种就是 UI 在Canvas内的坐标(暂时叫做ugui ...
- javascript --- 原生的拖拽功能实现
准备一个方块: <style>.drag{background-color:#aaf;position:absolute;} </style> <div class=&q ...
最新文章
- [转载]每个极客都应该知道的Linux技巧
- 详细的DOS命令说明
- 物生政可以报计算机专业吗,新高考物生政组合好吗?高考物生政可以报什么专业?...
- Linux(Ubuntu,Cent OS)环境安装mkfontscale mkfontdir命令以及中文字库
- 第5章 Python 数字图像处理(DIP) - 图像复原与重建14 - 逆滤波
- 组装我的计算机社会实践活动,暑期电脑销售社会实践心得体会
- 从数据仓库系统对比看Hive发展前景
- jenkins修改任务工作目录
- java使用jacob语言实现阅读文字,文字转语音
- WebSocket:5分钟从入门到精通
- 在应用程序中使用Runspace 1
- Editplus 破解
- 脚本重启电信天翼网关
- matlab循环求微分方程,MATLAB解微分方程
- 偶然看到的一篇文章中的励志诗
- pdf在线翻译_24个PDF在线小工具,免费在线翻译PDF文档。
- 【观察】联想“内生外化”:能干肯干、真招实招加速中小企业数字化转型
- 全球第一开源云ERP Odoo操作手册 模块安装和界面汉化指南
- 正则表达式-匹配A和B之间字符串
- Mac Big Sur keygen 您没有打开权限 问题;Unpacked 0 files.问题
热门文章
- 网络云盘本地加载工具——“CloudMounter”
- Java企业级开发概念辨析
- 模板方法设计模式(详解加案例)
- 美团:复杂风控场景下,如何打造一款高效的规则引擎
- BZOJ 1061: [Noi2008]志愿者招募 最小费用最大流
- HTML5实现类似刮刮卡的功能
- HTML nav 标签
- 数云融合|探究GPT家族的进化之路:GPT-3、GPT-3.5和GPT-4的比较分析
- cncf_根据2019年CNCF调查,Kubernetes的采用率持续上升
- HDU - 1004 (java map)