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 相关文章推荐
Jquery + Ajax调用webService实例代码(asp.net)
Aug 27 Javascript
Javascript操作cookie的函数代码
Oct 03 Javascript
JS运动相关知识点小结(附弹性运动示例)
Jan 08 Javascript
JS加载iFrame出现空白问题的解决办法
May 13 Javascript
原生js实现可爱糖果数字时间特效
Dec 30 Javascript
Node.js 8 中的 util.promisify的详解
Jun 12 Javascript
Vue自定义指令使用方法详解
Aug 21 Javascript
基于ionic实现下拉刷新功能
May 10 Javascript
JS实现处理时间,年月日,星期的公共方法示例
May 31 Javascript
vue 移动端记录页面浏览位置的方法
Mar 11 Javascript
vue项目配置使用flow类型检查的步骤
Mar 18 Javascript
通过JS判断网页是否为手机打开
Oct 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+Html+缓存
2006/11/25 PHP
深入phpMyAdmin的安装与配置的详细步骤
2013/05/07 PHP
Zend Framework创建自己的动作助手详解
2016/03/05 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
java解析json方法总结
2019/05/16 PHP
JS target与currentTarget区别说明
2011/08/28 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
javascript使用百度地图api和html5特性获取浏览器位置
2014/01/10 Javascript
简单选项卡 js和jquery制作方法分享
2014/02/26 Javascript
node.js中的buffer.write方法使用说明
2014/12/10 Javascript
angular实现form验证实例代码
2017/01/17 Javascript
bootstrap table实现单击单元格可编辑功能
2017/03/28 Javascript
JS扩展String.prototype.format字符串拼接的功能
2018/03/09 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
Python XML RPC服务器端和客户端实例
2014/11/22 Python
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
在Python中测试访问同一数据的竞争条件的方法
2015/04/23 Python
用Python写一段用户登录的程序代码
2018/04/22 Python
python多线程调用exit无法退出的解决方法
2019/02/18 Python
Python+numpy实现矩阵的行列扩展方式
2019/11/29 Python
Python2 与Python3的版本区别实例分析
2020/03/30 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
2020/06/18 Python
日本面向世界,国际级的免税在线购物商城:DOKODEMO
2017/02/01 全球购物
Rentalcars.com中国:世界上最大的在线汽车租赁服务
2019/08/22 全球购物
新闻系毕业生推荐信
2013/11/16 职场文书
体育教育毕业生自荐信
2013/11/21 职场文书
汽车技术服务英文求职信范文
2014/01/02 职场文书
银行工作检查书范文
2014/01/31 职场文书
机械专业求职信
2014/05/25 职场文书
先进员工事迹材料
2014/12/20 职场文书
志愿者服务活动总结报告
2015/05/06 职场文书
2016年秋季运动会加油稿
2015/12/21 职场文书
世界上超棒的8种逻辑思维
2019/08/06 职场文书
ant design charts 获取后端接口数据展示
2022/05/25 Javascript