javascript拖拽盒子移动的实现
来源:互联网 发布:手机简单编曲软件 编辑:程序博客网 时间:2024/05/21 10:31
原理比较简单,可以参照之前的文章javascript淘宝主图放大镜功能帮助理解。
<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><style type="text/css">*{margin: 0;padding: 0;}#box{position: absolute;left: 50px;top: 50px;width: 200px;height: 200px;background: red;}#box2{position: relative;box-sizing: border-box;width: 800px;height: 400px;margin: 50px auto;border: 1px solid gray;}</style><script type="text/javascript">window.onload = function (){var box = document.getElementById('box');var box2 = document.getElementById('box2');var boxX = 0;var boxY = 0;box.onmousedown = function (ev){var ev = ev||event;boxX = ev.clientX - box.offsetLeft;boxY = ev.clientY - box.offsetTop;var n = 10;//吸附参数if(box.setCapture){document.onmousemove = mousemove;document.onmouseup = mouseup;box.setCapture();//IE中将其他地方的事件集中到box}else{document.onmousemove = mousemove;document.onmouseup = mouseup;}function mousemove (ev){var ev = ev||event;var l = ev.clientX - boxX;var t = ev.clientY - boxY;//边缘吸附处理if(l<n){l = 0;}else if(l>box2.offsetWidth-box.offsetWidth-n){l = box2.offsetWidth-box.offsetWidth-2;}if(t<n){t = 0;}else if(t>box2.offsetHeight-box.offsetHeight-n){t = box2.offsetHeight-box.offsetHeight-2;}box.style.left = l+"px";box.style.top = t+"px";}function mouseup (){this.onmousemove = null;this.onmouseup = null;if(this.releaseCapture){this.releaseCapture();}}return false;}}</script></head><body><div id="box2"><div id="box"></div></div></body></html>
1 0
- javascript拖拽盒子移动的实现
- javascript实现可拖拽的盒子
- h5的拖拽事件 ondrop 实现鼠标跟随 移动盒子
- javascript实现元素的移动
- javascript实现图片的移动
- JavaScript的任意拖拽改变盒子的宽高<案例>
- 帮助你实现移动设备上的拖拽刷新功能的javascript类库 - hook.js
- Canvas画板实现一个简单的球在盒子内随机移动效果
- javascript 鼠标拖拽盒子--基础功能版
- JavaScript实现跟随鼠标移动而移动的文字
- js实现盒子的拉伸
- JavaScript实现图片移动
- 盒子的脱拽
- uva 12657 移动盒子
- uva12657 移动盒子
- 【刷题】移动盒子问题
- dom04 移动盒子案例
- UVA12657 移动盒子 链表
- Hadoop 源码编译 step by step 最简洁的步骤
- codevs 1269 匈牙利游戏(次短路)
- 拖拽中怎么修复bug
- 压缩(解压)工具
- Amoeba实现mysql读写分离
- javascript拖拽盒子移动的实现
- jsp页面显示后台传来参数以及传递参数给后台
- Centos6.5安装/运行/启动/登录docker
- 安卓1107_四大组件-多页面开发Activity
- (sqlldr)将xx.csv文件导入oracle数据库
- 03-Java中的转译字符
- oracle的游标笔记
- GitHub 简明教程
- nodejs群聊和私聊