拖拽模版
2019-04-18 09:00:00来源:博客园 阅读 ()
对ctrl+a后拖动的问题做了处理
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="../reset.css"> <style> .box{ width: 100px; height: 100px; background-color: red; position: absolute; left: 0; top: 0; } </style> </head> <body> <div class="box">111</div> <script> window.onload = function () { var box = document.querySelector(".box"); var boxStart = { left: 0, top: 0 }; var mouseStart = { left: 0, top: 0 }; box.onmousedown = function (ev) { // 绑定全局捕获 box.setCapture && box.setCapture(); ev = ev || window.event; // 阻止默认事件兼容性写法 ev.preventDefault?ev.preventDefault():ev.returnValue=false; // 阻止传播兼容性写法 // ev.stopPropagation?ev.stopPropagation():ev.cancelBubble=true; // 鼠标开始的位置 mouseStart.left = ev.clientX; mouseStart.top = ev.clientY; // 盒子开始的位置 boxStart.left = box.offsetLeft; boxStart.top = box.offsetTop; document.onmousemove = function (ev) { ev = ev || window.event; // 鼠标结束的位置 var mouseEnd = {}; mouseEnd.left = ev.clientX; mouseEnd.top = ev.clientY; // 移动的差值 var mouseLenX = mouseEnd.left - mouseStart.left; var mouseLenY = mouseEnd.top - mouseStart.top; // 移动后的位置 var L = boxStart.left + mouseLenX; var T = boxStart.top + mouseLenY; // 视口尺寸 var winW = document.documentElement.clientWidth; var winH = document.documentElement.clientHeight; // 盒子尺寸 var boxW = box.offsetWidth; var boxH = box.offsetHeight; L = L<0?0:L; L = L>=winW-boxW?winW-boxW:L; T = T<0?0:T; T = T>=winH-boxH?winH-boxH:T; box.style.left = L + "px"; box.style.top = T + "px"; }; document.onmouseup = function () { // 释放全局捕获 document.releaseCapture && document.releaseCapture(); document.onmousemove = document.onmouseup = null; } } } </script> </body> </html>
原文链接:https://www.cnblogs.com/Selling-fish-bears/p/10719628.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 微信小程序开发图片拖拽实例详解 2020-03-16
- 鼠标拖拽移动子窗体的JS实现 2020-02-20
- js实现弹出框的拖拽 2019-04-18
- 实现一个div的拖拽效果 2019-04-12
- Easyui datagrid 实现表格记录拖拽 2019-01-21
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash