JS实现拖拽 不出浏览器 距边50px吸附
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>拖拽</title><style>html,body{margin: 0;padding: 0;height: 100%;width: 100%;}div{width: 200px;height: 200px;background-color: greenyellow;position: absolute;}</style>
</head>
<body><div></div><script>var div=document.querySelector("div");div.addEventListener("mousedown",mouseMoveHandler);var browerWidth = document.body.clientWidth ;var browerHeight =document.body.clientHeight ;function mouseMoveHandler(e) {if(e.type==="mousedown"){e.preventDefault();document.point={x:e.offsetX,y:e.offsetY};document.div=this;document.addEventListener("mousemove",mouseMoveHandler);document.addEventListener("mouseup",mouseMoveHandler);}else if(e.type==="mousemove"){this.div.style.top=e.clientY-this.point.y+"px";this.div.style.left=e.clientX-this.point.x+"px";if(this.div.offsetLeft<0){this.div.style.left=0+"px";}if(this.div.offsetTop<0){this.div.style.top=0+"px";}if(this.div.offsetTop+this.div.clientHeight>browerHeight){this.div.style.top=browerHeight-this.div.clientHeight+"px";}if(this.div.offsetLeft+this.div.clientWidth>browerWidth){this.div.style.left=browerWidth-this.div.clientWidth+"px";}}else if(e.type==="mouseup"){// if(e.clientY-this.point.y<50 && e.clientX-this.point.x<50){// this.div.style.left=0+"px";// this.div.style.top=0+"px";// }if(e.clientX-this.point.x<50){this.div.style.left=0+"px";}if(e.clientY-this.point.y<50){this.div.style.top=0+"px";}if(browerHeight-this.div.offsetTop-this.div.clientHeight<50){this.div.style.top=browerHeight-this.div.clientHeight+"px";}if(this.div.offsetLeft+this.div.clientWidth>browerWidth-50){this.div.style.left=browerWidth-this.div.clientWidth+"px";}//松手移除事件this.removeEventListener("mousemove",mouseMoveHandler);this.removeEventListener("mouseup",mouseMoveHandler);}}</script>
</body>
</html>
JS实现拖拽 不出浏览器 距边50px吸附相关推荐
- 李炎恢 js教程 拖拽上 思路解析
李炎恢再讲js教程 拖拽上 讲到一个登录框,通过鼠标移动登录框到浏览器各个地方,我们现在对李炎恢的怎么想出进行分析: 问题期望是什么? 1.我们通过鼠标点击登录框,然后登录框被移动,松开鼠标,停止移动 ...
- html5 原生拖拽,原生JS实现拖拽效果
这篇文章主要为大家详细介绍了原生JS实现拖拽效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了JS实现拖拽效果的具体代码,供大家参考,具体内容如下 ...
- 原生JS实现拖拽进度条、滚动鼠标显示相应的内容
今天要分享的是运用原生JS实现拖拽进度条.滚动鼠标显示相应的内容,实现效果如下: 以下是代码实现,欢迎大家复制粘贴. <!DOCTYPE html> <html><hea ...
- js实现拖拽+碰撞+重力
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...
- js 鼠标拖拽改变div宽度高度
js 鼠标拖拽改变div宽度高度, <!DOCTYPE html> <html><head><meta charset="UTF-8" / ...
- 原生js实现拖拽上传文件
原生js实现拖拽上传文件 <!DOCTYPE html> <html lang="en"><head><meta charset=&quo ...
- 原生JS实现拖拽垂直进度条
先看效果图 代码如下 <!DOCTYPE html> <html><head><meta http-equiv="Content-Type" ...
- 原生JS实现拖拽翻书特效
给大家分享一个用原生JS实现的拖拽翻书效果图,效果如下: 效果还不错吧,当然还需要两个图片. 1.书本封面. 2.书页 实现代码如下,欢迎大家复制粘贴. <!DOCTYPE html> & ...
- web使用panzoom.js 缩放拖拽 工程图cad图
web使用panzoom.js 缩放拖拽 工程图cad图 前言 第一步下载图片转换工具 将cad的dwg转换为svg 第二步 普通的cad 转换后 大概4-5M 如果直接放入html 加载会很缓慢 需 ...
最新文章
- Python之父重回决策层,未来如何发展?
- thinkpad密码忘记
- 浅谈.Net异步编程的前世今生----APM篇
- 计算机台式右上角三个灯作用,键盘右上角的三个灯是什么?有什么用
- 远东传动收购机器人_一张图为你总结最近5年在机器人领域收购案例
- http statusCode 500状态码
- C语言中一个指针传递问题的分析
- 91期:2016阿里安全峰会重点资料新鲜开放,不能错过
- PAT (Basic Level) Practice1004 成绩排名
- 排序算法(三) —— 直接插入排序
- jQuery扩展半Lambda表达式 类似Linq的Where
- html 判断IE版本并加载对应的css,js
- 三星java游戏下载_轻松游戏 三星Z500安装java游戏详细教程
- 最新高级流量卡官网源码附教程
- diablo2oo2’s Universal Patcher 中文汉化绿色破解版下载
- 高频电子线路_实验一:调谐放大器
- OBS+SRS+centos7搭建局域网直播推流服务器
- 知乎在港上市破发是必然:周源被“打脸”,增长极其依赖营销
- 服务器上怎么强制删除文件夹,Windows10系统强制删除文件的方法
- c语言美元符号用法,R函数()中美元符号“$”的含义是什么?
热门文章
- pythonscrapy爬虫ip代理池_在Scrapy中使用IP池或用户代理(python3)
- 恒源云(GPUSHARE)_GPU服务器租用 | Spyder连接使用教程
- templete inheritance
- Cyrus Beck(参数化)裁剪算法基于opengl实现
- 2018最新(传智黑马)前端从基础班到就业班(视频+资料)
- Win7中laragon安装教程
- android 中报Merging Errors
- Spring Cloud Ribbon负载均衡策略详解
- Flume Sinks
- 初刷【洛谷P2181对角线】题解心得