JavaScript鼠标拖拽事件详解


Posted in Javascript onApril 03, 2020

本文实例为大家分享了js鼠标拖拽事件的详细实现代码,供大家参考,具体内容如下

图片如下:

JavaScript鼠标拖拽事件详解

css代码

<style>
 *{
 margin:0;
 padding:0;
 }
 #box{
 width: 200px;
 height: 200px;
 background: url("./img/aio.png") no-repeat;
 background-size: cover;
 position: absolute;/*定位元素 父级元素window就是初始包含块*/
 top:0;
 left:0;
 }
</style>

html代码

<div id="box"></div>

js代码

<script>
 //获取标签
 var box=document.getElementById("box");
 var body=document.body;
 var x,y;//全局作用域
 //鼠标按下事件 0级
 box.onmousedown=function(e) {//传入形参e
 var mx=e.clientX;//鼠标距离浏览器左
 var my=e.clientY;//鼠标距离浏览器上
 var bx=box.offsetLeft;//盒子距离浏览器左
 var by=box.offsetTop;//盒子距离浏览器上
 x=mx-bx;//实际盒子距离的浏览器左
 y=my-by;//实际盒子距离的浏览器上
 //鼠标移动事件 0级
 body.onmousemove=function(e) {//拿到全局x、y、
  //获取当前鼠标移动到的坐标点
  var mx=e.clientX;
  var my=e.clientY;
  //盒子距离浏览器
  box.style.left=mx-x +"px";
  box.style.top=my-y +"px";

 };
 //鼠标弹起事件(松开)
 box.onmouseup=function(e) {
  body.onmousemove=null;//不做任何操作//dom0级事件解除事件绑定
  //获取当前鼠标移动到的坐标点
  var mx=e.clientX;
  var my=e.clientY;
  //盒子距离浏览器
  box.style.left=mx-x +"px";
  box.style.top=my-y +"px";
 }
 };
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
Oct 16 Javascript
javascript格式化json显示实例分析
Apr 21 Javascript
纯javascript移动优先的幻灯片效果
Nov 02 Javascript
vue.js+boostrap项目实践(案例详解)
Sep 21 Javascript
详解Vue方法与事件
Mar 09 Javascript
Vue中的Vux配置指南
Dec 08 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
Apr 28 Javascript
详解JavaScript的数据类型以及数据类型的转换
Apr 20 Javascript
JS中如何轻松遍历对象属性的方式总结
Aug 06 Javascript
微信小程序拖拽排序列表的示例代码
Jul 08 Javascript
Node在Controller层进行数据校验的过程详解
Aug 28 Javascript
详解JavaScript执行模型
Nov 16 Javascript
Javascript组合继承方法代码实例解析
Apr 02 #Javascript
Javascript异步编程async实现过程详解
Apr 02 #Javascript
JS实现图片懒加载(lazyload)过程详解
Apr 02 #Javascript
JavaScript运动原理基础知识详解
Apr 02 #Javascript
基于js实现逐步显示文字输出代码实例
Apr 02 #Javascript
webpack3.0升级4.0的方法步骤
Apr 02 #Javascript
Javascript模块化机制实现原理详解
Apr 02 #Javascript
You might like
JS提交并解析后台返回的XML的代码
2008/11/03 Javascript
jquery学习笔记 用jquery实现无刷新登录
2011/08/08 Javascript
扩展JavaScript功能的正确方法(译文)
2012/04/12 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
JS实现拖动示例代码
2013/11/01 Javascript
jquery如何实现锚点链接之间的平滑滚动
2013/12/02 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
JQuery复制DOM节点的方法
2015/06/11 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
2016/01/13 Javascript
值得分享的轻量级Bootstrap Table表格插件
2016/05/30 Javascript
JS+HTML5手机开发之滚动和惯性缓动实现方法分析
2016/06/12 Javascript
AngularJS 中的事件详解
2016/07/28 Javascript
jquery mobile实现可折叠的导航按钮
2017/03/11 Javascript
简单谈谈axios中的get,post方法
2017/06/25 Javascript
Node.js 使用AngularJS的方法示例
2018/05/11 Javascript
jQuery实现的页面详情展开收起功能示例
2018/06/11 jQuery
详解vue挂载到dom上会发生什么
2019/01/20 Javascript
你可能不知道的CORS跨域资源共享
2019/03/13 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
解决Linux系统中python matplotlib画图的中文显示问题
2017/06/15 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
Python标准库itertools的使用方法
2020/01/17 Python
pytorch快速搭建神经网络_Sequential操作
2020/06/17 Python
virtualenv介绍及简明教程
2020/06/23 Python
Python logging日志模块 配置文件方式
2020/07/12 Python
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
大学生创业项目方案
2014/03/08 职场文书
战略性融资合作协议书范本
2014/10/17 职场文书
煤矿安全保证书
2015/02/27 职场文书
解决pytorch读取自制数据集出现过的问题
2021/05/31 Python
javascript对象3个属性特征
2021/11/17 Javascript
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
2022/04/19 Javascript
Android开发 使用文件储存的方式保存QQ密码
2022/04/24 Java/Android