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 function调用时的参数检测常用办法
Feb 26 Javascript
Javascript面向对象编程
Mar 18 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
Sep 30 Javascript
Jquery事件的连接使用示例
Jun 18 Javascript
JS 毫秒转时间示例代码
Sep 22 Javascript
JavaScript获得url所有参数键值表的方法
Mar 21 Javascript
jQuery实现指定内容滚动同时左侧或其它地方不滚动的方法
Aug 08 Javascript
jquery对象访问是什么及使用方法介绍
May 03 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
Oct 25 Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
Aug 22 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
Jul 02 Javascript
ES6 Class中实现私有属性的一些方法总结
Jul 08 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 daodb插入、更新与删除数据
2009/03/19 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
2016/01/07 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
2020/04/23 PHP
PHP常量及变量区别原理详解
2020/08/14 PHP
jQuery 1.3 和 Validation 验证插件1.5.1
2009/07/09 Javascript
jquery ajax执行后台方法
2010/03/18 Javascript
jQuery实现可收缩展开的级联菜单实例代码
2013/11/27 Javascript
基于jQuery实现下拉框
2014/11/24 Javascript
Java中Timer的用法详解
2015/10/21 Javascript
javascript创建对象、对象继承的实用方式详解
2016/03/08 Javascript
JS实现的表格行上下移动操作示例
2016/08/03 Javascript
jQuery购物网页经典制作案例
2016/08/19 Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
2016/08/24 Javascript
详细谈谈AngularJS的子级作用域问题
2016/09/05 Javascript
JS常见算法详解
2017/02/28 Javascript
创建简单的node服务器实例(分享)
2017/06/23 Javascript
Vue中的ref作用详解(实现DOM的联动操作)
2017/08/21 Javascript
原生JS实现的雪花飘落动画效果
2018/05/03 Javascript
详解VUE里子组件如何获取父组件动态变化的值
2018/12/26 Javascript
[02:27]2014DOTA2国际邀请赛 VG赛后采访:更大的挑战在等着我们
2014/07/13 DOTA
[11:42]2018DOTA2国际邀请赛寻真——OG卷土重来
2018/08/17 DOTA
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
Windows下python3.6.4安装教程
2018/07/31 Python
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
pytorch多进程加速及代码优化方法
2019/08/19 Python
pytorch实现线性拟合方式
2020/01/15 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
2020/03/05 Python
python从ftp获取文件并下载到本地
2020/12/05 Python
Java中实现多态的机制是什么?
2014/12/07 面试题
学校评语大全
2014/05/06 职场文书
小学感恩教育活动总结
2014/07/07 职场文书
公安局班子个人对照检查材料思想汇报
2014/10/09 职场文书
2014年体育教师工作总结
2014/12/03 职场文书
售后前台接待岗位职责
2015/04/03 职场文书
正规借条模板
2015/05/26 职场文书