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面向对象程序设计三 原型模式(上)
Dec 21 Javascript
图片翻转效果具体实现代码
Jan 09 Javascript
获取select元素被选中的文本内容的js代码
Jan 29 Javascript
js 触发select onchange事件代码
Mar 20 Javascript
原生Js实现简易烟花爆炸效果的方法
Mar 20 Javascript
JS实现的5级联动Select下拉选择框实例
Aug 17 Javascript
javascript实现状态栏中文字动态显示的方法
Oct 20 Javascript
使用node.js搭建服务器
May 20 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
Dec 08 Javascript
8个有意思的JavaScript面试题
Jul 30 Javascript
vue实现折线图 可按时间查询
Aug 21 Javascript
5种方法告诉你如何使JavaScript 代码库更干净
Sep 15 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
thinkphp 多表 事务详解
2013/06/17 PHP
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
2014/11/29 PHP
php实现parent调用父类的构造方法与被覆写的方法
2015/02/11 PHP
Javascript的一种模块模式
2008/03/22 Javascript
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
前端必备神器 Snap.svg 弹动效果
2014/11/10 Javascript
Javascript的表单验证-揭开正则表达式的面纱
2016/03/18 Javascript
使用vue.js制作分页组件
2016/06/27 Javascript
js显示动态时间的方法详解
2016/08/20 Javascript
JS控制HTML元素的显示和隐藏的两种方法
2016/09/27 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
基于AngularJS实现的工资计算器实例
2017/06/16 Javascript
使用JavaScript实现在页面中显示距离2017年中秋节的天数
2017/09/26 Javascript
基于 Vue.js 之 iView UI 框架非工程化实践记录(推荐)
2017/11/21 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
2018/01/23 jQuery
详解JavaScript事件循环机制
2018/09/07 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
Python中的包和模块实例
2014/11/22 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
python 实现ping测试延迟的两种方法
2020/12/10 Python
pycharm进入时每次都是insert模式的解决方式
2021/02/05 Python
Pyside2中嵌入Matplotlib的绘图的实现
2021/02/22 Python
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
印度民族服装购物网站:BIBA
2019/08/05 全球购物
硕士研究生自我鉴定范文
2013/12/27 职场文书
一月红领巾广播稿
2014/02/11 职场文书
财务工作犯错检讨书
2014/10/07 职场文书
2014企业年终工作总结
2014/12/23 职场文书
预备党员自我评价范文
2015/03/04 职场文书
2015年工程师工作总结
2015/04/30 职场文书
报案材料怎么写
2015/05/25 职场文书
2019财务毕业实习报告
2019/06/27 职场文书
SQL语句中JOIN的用法场景分析
2021/07/25 SQL Server
Springboot-cli 开发脚手架,权限认证,附demo演示
2022/04/28 Java/Android