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的loading效果实现代码
Nov 05 Javascript
基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
Jul 31 Javascript
JS短路原理的应用示例 精简代码的途径
Dec 13 Javascript
浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
Jan 09 Javascript
浅谈Jquery为元素绑定事件
Apr 27 Javascript
JavaScript必知必会(五) eval 的使用
Jun 08 Javascript
JS碰撞运动实现方法详解
Dec 15 Javascript
JS实现的数字格式化功能示例
Feb 10 Javascript
JavaScript组件开发之输入框加候选框
Mar 10 Javascript
详解html-webpack-plugin用法全解
Jan 22 Javascript
layui table数据修改的回显方法
Sep 04 Javascript
Vue实现菜单切换功能
Nov 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
Terran历史背景
2020/03/14 星际争霸
使用PHP和XSL stylesheets转换XML文档
2006/10/09 PHP
php调用mysql数据 dbclass类
2011/05/07 PHP
php中使用GD库做验证码
2016/03/31 PHP
php面向对象基础详解【星际争霸游戏案例】
2020/01/23 PHP
javascript parseInt 函数分析(转)
2009/03/21 Javascript
超简单的jquery的AJAX用法
2010/05/10 Javascript
javascript 在firebug调试时用console.log的方法
2012/05/10 Javascript
实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等)
2013/01/11 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
2015/08/31 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
JS工作中的小贴士之”闭包“与事件委托的”阻止冒泡“
2016/06/16 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
2016/06/24 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
vue脚手架vue-cli的学习使用教程
2017/06/06 Javascript
了解ESlint和其相关操作小结
2018/05/21 Javascript
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
2018/10/18 Javascript
微信小程序访问豆瓣电影api的实现方法
2019/03/31 Javascript
node后端服务保活的实现
2019/11/10 Javascript
Jquery属性的获取/设置及样式添加/删除操作技巧分析
2019/12/23 jQuery
Angular+Ionic使用queryParams实现跳转页传值的方法
2020/09/05 Javascript
Python中使用PIPE操作Linux管道
2015/02/04 Python
简单介绍Python中的struct模块
2015/04/28 Python
python中利用zfill方法自动给数字前面补0
2018/04/10 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
Pycharm新手教程(只需要看这篇就够了)
2019/06/18 Python
详解numpy.ndarray.reshape()函数的参数问题
2020/10/13 Python
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
Coach澳大利亚官方网站:美国著名时尚奢侈品牌
2017/05/24 全球购物
Interhome丹麦:在线预订度假屋和公寓
2019/07/18 全球购物
单位法人授权委托书范本
2014/10/09 职场文书
人民检察院起诉书
2015/05/20 职场文书
医德医风学习心得体会
2016/01/25 职场文书
《赵州桥》教学反思
2016/02/17 职场文书
关于保护环境的建议书
2019/06/24 职场文书