JS原生---鼠标拖拽
2019独角兽企业重金招聘Python工程师标准>>>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
var mouseX, mouseY;
var objX, objY;
var isDowm = false; //是否按下鼠标
function mouseDown(obj, e) {
obj.style.cursor = "move";
objX = div1.style.left;
objY = div1.style.top;
mouseX = e.clientX;
mouseY = e.clientY;
isDowm = true;
}
function mouseMove(e) {
var div = document.getElementById("div1");
var x = e.clientX;
var y = e.clientY;
if (isDowm) {
div.style.left = parseInt(objX) + parseInt(x) - parseInt(mouseX) + "px";
div.style.top = parseInt(objY) + parseInt(y) - parseInt(mouseY) + "px";
document.getElementById("span1").innerHTML = "x:" + div.style.top + " " + "y:" + div.style.left;
}
}
function mouseUp(e) {
if (isDowm) {
var x = e.clientX;
var y = e.clientY;
var div = document.getElementById("div1");
div.style.left = (parseInt(x) - parseInt(mouseX) + parseInt(objX)) + "px";
div.style.top = (parseInt(y) - parseInt(mouseY) + parseInt(objY)) + "px";
document.getElementById("span2").innerHTML = "x:" + div.style.top + " " + "y:" + div.style.left;
mouseX = x;
rewmouseY = y;
div1.style.cursor = "default";
isDowm = false;
}
}
</script>
</head>
<body>
<span id="span1"></span></br><span id="span2"></span></br>
<div id="div1" style="background-color: Green; border: 1px solid red; height: 300px;
top: 100px; left: 100px; width: 300px; position: absolute;" οnmοusedοwn="mouseDown(this,event)"
οnmοusemοve="mouseMove(event)" οnmοuseup="mouseUp(event)">
</div>
</body>
</html>
转载于:https://my.oschina.net/fuckBAT/blog/325807
JS原生---鼠标拖拽相关推荐
- 【加强版】js原生实现拖拽效果,这次没有用document的mousedown、mousemove、mouseup事件我们来点实际的(但是有个弊端:拖拽过程中鼠标会变成一个禁用符号,不太友好)
<div class='dragged'></div> //初始化需要拖拽的列initDrags() {var arr = document.querySelectorAll( ...
- 【墙裂推荐】【原生基础版】js原生实现拖拽效果,注意不要忘了div的cursor用grab和grabbing 还是古法炮制、传统工艺的原生代码兼容性最好,推荐
以下方式的劣势就是在放弃拖拽那一刻会触发click事件,通常如果被拖拽元素还有其他点击事件,会重复触发,往往并非业务需求.优势就是-额-貌似这段代码没什么屌优势! <div class='dra ...
- html点击控制盒子左右移动,JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例...
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例 发布时间:2020-10-04 12:47:25 来源:脚本之家 阅读:121 作者:s_psycho 本文实例讲述了JS实现鼠标拖拽盒子移动及右键 ...
- html 复选框拖拽多选,js实现鼠标拖拽多选功能
最近做了一个用js实现鼠标拖拽多选的功能,于是整理了一下思路,写了一个小demo: 遮罩出现: 被遮罩盖住的,即为选中的块(背景色为粉色) 下面是具体代码,注释已在文中,与大家交流. 鼠标拖拽多选功能 ...
- html div 可鼠标滚动,js实现鼠标拖拽div左右滑动
本文实例为大家分享了js鼠标拖拽div左右滑动的具体代码,供大家参考,具体内容如下 Title body{ position: relative; margin:0; padding:0; width ...
- 用鼠标左右拖拽 html,js实现鼠标拖拽div左右滑动
本文实例为大家分享了js鼠标拖拽div左右滑动的具体代码,供大家参考,具体内容如下 Title body{ position: relative; margin:0; padding:0; width ...
- JS中鼠标拖拽div(2)(setCapture()方法和releaseCapture()方法)
接着鼠标拖拽div(1)解决问题,当在拖拽事件所在的页面按下键盘的ctrl+A全选后,再去拖拽div,浏览器会默认去搜索网页中的内容,拖拽功能就会失效,(搜索网页内容是浏览器的默认行为,所以要想不发生 ...
- JS中鼠标拖拽div(onmousedown、onmousemove、onmouseup)
onmousedown:鼠标的按下事件 onmouseove:鼠标的移动事件 onmouseup:鼠标的松开事件 思路: 想实现鼠标拖拽div移动的效果,就得先获取到div,然后给div绑定鼠标按下的 ...
- js实现鼠标拖拽功能基本思路
如果要设置物体拖拽,那么必须使用三个事件,并且这三个事件的使用顺序不能颠倒. onmousedown:鼠标按下事件 onmousemove:鼠标移动事件 onmouseup:鼠标抬起事件 拖拽的基本原 ...
最新文章
- 将 VMware 最小化到系统托盘
- 一个关于wwf和linq的部署问题?
- 递归时间/空间复杂度的分析(斐波那契为例)
- AWT Button类
- 并发编程之多线程线程安全(上)
- 存算分离架构的高斯Redis,用强一致提供可靠保障
- Java并发编程之CountDownLatch闭锁
- 异常连接导致的内存泄漏排查
- 关于Winform中的用户代理
- 反向题在测试问卷信效度_检验问卷的信度和效度
- 二级C语言试题结构,2008年4月计算机等级考试二级C语言试题结构分析
- 并行计算——冯·诺依曼结构
- 皮尔森卡方检验pearson chi-square 与 费舍尔精确检验fisher's exact test
- 苹果笔记本怎么找文件夹_苹果电脑的文件存在哪里_苹果电脑把文件放到哪-win7之家...
- 微信小程序轨迹回放实现及遇到的坑
- iPhone彻底删除的照片能恢复吗,2个找回永久删除照片的方法
- Neutral Graph Collaborative Filtering——论文提炼
- 网吧游戏下载期,内置超10000G游戏!
- 电子数据取证之网站分析和重构基础
- Joe Ross 交易书籍 中英文名
热门文章
- 洛谷 P1004 方格取数 【多线程DP/四维DP/】
- Oracle客户端安装教程
- “计量确认”与“检定”之区别
- JAVA的内存模型及结构
- C# 结构体 简明介绍
- [asp常用代码]文件上传代码
- 产品经理岗位将要消亡?后端PM表示别瞎焦虑了
- 【运营】运营必看!如何吸引用户主动的参与活动?
- (三十一)java版spring cloud+spring boot+redis多租户社交电子商务平台-spring-cloud-config...
- Webpack 4x 之路 ( 五 )