鼠标拖拽窗口效果(不允许拖出屏幕的可视区域)
来源:互联网 发布:平面设计网络课程 编辑:程序博客网 时间:2024/05/19 14:16
html样式
<body> <div id="div1"></div> </body>
css样式
#div1 { width: 200px; height: 200px; background: #deb887; position: absolute;}
JS样式
window.onload = function (){ var oDiv = document.getElementById('div1') var disX = 0; var disY = 0; oDiv.onmousedown = function (ev){ var oEvent = ev||event; disX = oEvent.clientX - oDiv.offsetLeft; disY = oEvent.clientY - oDiv.offsetTop; document.onmousemove = function (ev){ var oEvent = ev||event; var l = oEvent.clientX - disX; var t = oEvent.clientY - disY; //此处的判断是为了防止拖拽框被拖出屏幕可视区域 if(l<0) { l=0; }else if(l>document.documentElement.clientWidth - oDiv.offsetWidth){ l = document.documentElement.clientWidth - oDiv.offsetWidth; } if(t<0) { t=0; }else if(t>document.documentElement.clientHeight- oDiv.offsetHeight){ t = document.documentElement.clientHeight - oDiv.offsetHeight; } oDiv.style.left = l+ 'px'; oDiv.style.top = t+ 'px'; }; //此处是为了防止在火狐浏览器下拖拽时会出现的两次阴影的效果,此处代码可以禁用 document.onmouseup = function (){ document.onmousemove = null; document.onmouseup = null; } } }
其实原理就是实时计算区域框 距离左右屏幕之间的距离,通过鼠标的点击、拖动、移除 事件来对区域框进行操作。在不同的条件下作出不同的判断就可以了 ~
阅读全文
0 0
- 鼠标拖拽窗口效果(不允许拖出屏幕的可视区域)
- 动态菜单(永远在屏幕的可视区域显示)
- 获取屏幕可视区域的宽度和高度
- javascript(浏览器窗口可视区域)
- 浏览器窗口可视区域大小
- 浏览器窗口可视区域大小
- 浏览器窗口可视区域大小
- 浏览器窗口可视区域大小
- JQuery获取浏览器窗口的可视区域高…
- div背景半透明 覆盖整个可视区域的遮罩层效果
- C# Winform 窗体用鼠标拖出虚线框....并且虚线框区域里的所有控件选中
- javaScript获取浏览器窗口可视区域大小
- 9-18浏览器窗口可视区域大小
- Android获取窗口可视区域大小: getWindowVisibleDisplayFrame()
- Android获取窗口可视区域大小: getWindowVisibleDisplayFrame()
- ICC7AVR 窗口拖出界面的问题
- 特别实用的-js判断浏览器窗体、用户屏幕可视区域大小位置的方法
- 左边可拖出菜单(页面)效果
- NSUserDefaults
- 动态申请权限允许后fragment崩溃
- 学生管理系统
- Spring Cloud入门三- Zuul作api-gateway
- python-安装pip以及setuptools
- 鼠标拖拽窗口效果(不允许拖出屏幕的可视区域)
- 前台控制开始日期小于结束日期
- java从FTP下载文件功能
- 5个月ReactNative感受
- linux 下配置opencv3.3.0及 opencv_contrib
- 子元素浮动父容器高度不能自适应的CSS解决方法
- Android 达到Toolbar效果的demo
- 图像处理之gamma校正
- 跳转应用商店 对应页面