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中,为什么要尽可能使用局部变量?
Apr 06 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
Apr 17 Javascript
javascript 实现 秒杀,团购 倒计时展示的记录 分享
Jul 12 Javascript
Node.js中child_process实现多进程
Feb 03 Javascript
纯JS代码实现一键分享功能
Apr 20 Javascript
详解JavaScript异步编程中jQuery的promise对象的作用
May 03 Javascript
Easyui Datagrid自定义按钮列(最后面的操作列)
Jul 13 Javascript
使用Fullpage插件快速开发整屏翻页的页面
Sep 13 Javascript
微信小程序App生命周期详解
Jan 31 Javascript
详解React native fetch遇到的坑
Aug 30 Javascript
vuex 解决报错this.$store.commit is not a function的方法
Dec 17 Javascript
localstorage实现带过期时间的缓存功能
Jun 28 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
PHP编程函数安全篇
2013/01/08 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
2013/09/30 PHP
Laravel 不同生产环境服务器的判断实践
2019/10/15 PHP
Prototype 学习 工具函数学习($w,$F方法)
2009/07/12 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
JavaScript中reduce()方法的使用详解
2015/06/09 Javascript
js实现登陆遮罩效果的方法
2015/07/28 Javascript
jQuery插件zTree实现删除树子节点的方法示例
2017/03/08 Javascript
Bootstrap栅格系统的使用详解
2017/10/30 Javascript
vue综合组件间的通信详解
2017/11/06 Javascript
bootstrap 通过加减按钮实现输入框组功能
2017/11/15 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
2018/08/09 Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
2018/10/12 Javascript
node解析修改nginx配置文件操作实例分析
2019/11/06 Javascript
vue2路由基本用法实例分析
2020/03/06 Javascript
javascript设计模式 ? 适配器模式原理与应用实例分析
2020/04/13 Javascript
[28:07]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第二场 12.13
2020/12/17 DOTA
用Python输出一个杨辉三角的例子
2014/06/13 Python
Python动态加载模块的3种方法
2014/11/22 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
Jupyter Notebook 安装配置与使用详解
2021/01/06 Python
Autopep8的使用(python自动编排工具)
2021/03/02 Python
Nasty Gal英国:美国女性服饰销售网站
2021/03/02 全球购物
实现strstr功能,即在父串中寻找子串首次出现的位置
2016/08/05 面试题
医科学校毕业生自荐信
2013/11/09 职场文书
幼儿园小班评语大全
2014/04/17 职场文书
资产运营委托书范本
2014/10/16 职场文书
教师个人师德总结
2015/02/06 职场文书
语文教师求职信范文
2015/03/20 职场文书
消防宣传语大全
2015/07/13 职场文书
2015年环卫处个人工作总结
2015/07/27 职场文书
Nginx访问日志及错误日志参数说明
2021/03/31 Servers
68行Python代码实现带难度升级的贪吃蛇
2022/01/18 Python
Docker 镜像介绍以及commit相关操作
2022/04/13 Servers