限制范围的拖拽
2017-05-26 15:02
127 查看
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>限制范围的拖拽</title> <style> #div1{ width:100px; height:100px; background:red; position:absolute; } img{ position: absolute; } </style> <script type="text/javascript"> window.onload = function(){ var oDiv = document.getElementById("div1"); var oImg = document.getElementById("img1"); drag( oDiv); drag( oImg); function drag(obj){ obj .onmousedown = function(ev){ var ev = ev||event; var disX = ev.clientX-this.offsetLeft; var disY = ev.clientY-this.offsetTop; if(obj.setCapture){ obj.setCapture(); } document.onmousemove= function(ev){ var ev = ev||event; var L = ev.clientX-disX; var T = ev.clientY-disY; if(L<0 ){ L = 0; }else if(L>document.documentElement.clientWidth-obj.offsetWidth){ L = document.documentElement.clientWidth-obj.offsetWidth; } if(T<0 ){ T= 0; }else if(T>document.documentElement.clientHeight-obj.offsetHeight){ T = document.documentElement.clientHeight-obj.offsetHeight; }//先判断并设置L和T的值,再设置left和top 值为有更好的用户体验效果。
obj.style.left = L +"px"; obj.style.top= T +"px"; } document.onmouseup = function(){ document.onmousemove = null; if(obj.releaseCapture){ obj.releaseCapture(); } } return false;//取消事件的默认行为 } } } </script> </head> <body> fdsgdfdsfsdf <div id="div1"></div> <img id="img1" src="../img/cake2.jpg"> </body> </html>
相关文章推荐
- javascript——限制范围的拖拽
- 理解事件捕获。在限制范围内拖拽div+吸附+事件捕获
- 面向对象改成拖拽和通过继承来达到限制范围拖拽
- JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
- 限制范围的拖拽的简单实现及封装(含磁性吸附)
- 面向对象继承-限制范围的拖拽
- iOS两种方法限制拖拽手势的范围
- 拖拽的基本函数(已有限制范围和修复浏览器默认行为以及磁性吸附、碰撞检测、改变层大小、模拟滚动条)
- 改进的table单元格拖拽,可限制能拖动的连续单元格范围
- 原生js 封装 拖拽限制范围
- JS利用 Sea.js 实现模块化:拖拽、缩放及范围限制
- JavaScript 事件 -- 默认行为,限制范围拖拽
- My97日期控件功能演示日期范围限制My97 Datepicker Demo
- 限制鼠标移动范围[类]
- JQuery日历插件My97DatePicker日期范围限制
- .net的session详解 存储模式 存到数据库中 使用范围与大小限制 生命周期
- JQuery日历插件My97DatePicker日期范围限制
- c# 限制textbox的输入范围和长度(长度不用maxlength方法)
- 获取限制x值范围内轮廓的y值最小的点
- Google Maps API V3学习【限制地图缩放级别和显示范围 包含V2版本程序】