点滴积累【JS】---JS小功能(onmousedown实现鼠标拖拽div移动)
2013-12-01 23:11
1066 查看
效果:
思路:
利用onmousedown事件实现拖拽。首先获得鼠标横坐标点和纵坐标点到div的距离,然后当鼠标移动后再用可视区的距离减去横纵坐标与div的距离。然后在判断不让DIV移出可视区,然后再赋予DIV的位置。最后关闭鼠标onmouseup事件。
代码:
思路:
利用onmousedown事件实现拖拽。首先获得鼠标横坐标点和纵坐标点到div的距离,然后当鼠标移动后再用可视区的距离减去横纵坐标与div的距离。然后在判断不让DIV移出可视区,然后再赋予DIV的位置。最后关闭鼠标onmouseup事件。
代码:
<head runat="server"> <title></title> <style type="text/css"> #div1 { width: 200px; height: 200px; background: #00FFFF; position: absolute; border: 1px solid; } </style> <script type="text/javascript"> window.onload = function () { var div = document.getElementById('div1'); var disX = 0; var disY = 0; document.onmousedown = function (ev) { //鼠标按下 var oEvent = ev || event; //判断浏览器兼容 disX = oEvent.clientX - div1.offsetLeft; //鼠标横坐标点到div的offsetLeft距离 disY = oEvent.clientY - div1.offsetTop; //鼠标纵坐标点到div的offsetTop距离 document.onmousemove = function (ev) { //鼠标移动 var oEvent = ev || event; var l = oEvent.clientX - disX; //获取div左边的距离 var t = oEvent.clientY - disY; //获取div上边的距离 if (l < 0) { //判断div的可视区,为避免DIV失去鼠标点 l = 0; } else if (l > document.documentElement.clientWidth - div.offsetWidth) { l = document.documentElement.clientWidth - div.offsetWidth; } if (t < 0) { t = 0; } else if (t > document.documentElement.clientHeight - div.offsetHeight) { t = document.documentElement.clientHeight - div.offsetHeight; } div.style.left = l + 'px'; //确定DIV的左边位置 div.style.top = t + 'px'; //确定DIV的上边位置 } document.onmouseup = function () { //当鼠标松开后关闭移动事件和自身事件 document.onmousemove = null; document.onmouseup = null; } return false; } } </script> </head> <body> <div id="div1"> </div> </body>
相关文章推荐
- 点滴积累【JS】---JS小功能(onmousemove鼠标移动坐标接龙DIV)
- 点滴积累【JS】---JS小功能(onmouseover实现选择月份)
- js 实现 鼠标 移动 div
- js中实现div跟随鼠标移动
- Js实现div跟着鼠标的移动
- jquery 实现鼠标点击div盒子移动功能
- 鼠标拖拽移动子窗体的JS实现
- js实现鼠标拖拽功能基本思路
- 点滴积累【JS】---JS小功能(offsetLeft实现图片滚动效果)
- 实现多个div拖拽移动,交换位置功能,代码复制可运行,有交换特效
- 点滴积累【JS】---JS小功能(JS实现排序)
- 关于js拖拽功能,拖拽元素的position:fixed;left:0;right:0;样式引起左右拖动元素会出现落后鼠标移动距离的问题
- Js实现div跟着鼠标的移动
- js实现鼠标拖拽div-------Day44
- js实现鼠标拖拽div
- js实现跟随鼠标移动且带关闭功能的图片广告实例
- JS实现鼠标拖动div移动
- 纯js实现div的拖拽功能
- js+html+css实现鼠标移动div实例
- 点滴积累【JS】---JS小功能(JS实现侧悬浮浮动)