js实现鼠标拖动功能


Posted in Javascript onMarch 20, 2017

效果图:

js实现鼠标拖动功能

代码如下:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <style type="text/css">
  #div{
  width: 200px;
  height: 200px;
  background: green;
  position: absolute;
  }
  #div2{
  width: 200px;
  height: 200px;
  background: gold;
  position: absolute;
  top: 200px;
  left: 200px;
  }
 </style>
 </head>
 <body>
 <div id="div">
 </div>
 <div id="div2"></div>
 <script>
  window.onload=function(){
  var div=document.getElementById("div");
  div.onmousedown=function(ev){
   var e=window.event || ev;
   //var Mydiv=document.getElementById("div");
   //获取到鼠标点击的位置距离div左侧和顶部边框的距离;
   var oX=e.clientX-div.offsetLeft;
   var oY=e.clientY-div.offsetTop;
   //当鼠标移动,把鼠标的偏移量付给div
   document.onmousemove=function(ev){
   //计算出鼠标在XY方向上移动的偏移量,把这个偏移量加给DIV的左边距和上边距,div就会跟着移动
   var e=window.event|| ev;
   div.style.left=e.clientX-oX+"px";
   div.style.top=e.clientY-oY+"px";
   }
   //当鼠标按键抬起,清除移动事件
   document.onmouseup=function(){
   document.onmousemove=null;
   document.onmouseup=null;
   }
  }
  var div2=document.getElementById("div2");
  div2.onmousedown=function(ev){
   var e=window.event || ev;
   //var Mydiv=document.getElementById("div");
   //获取到鼠标点击的位置距离div左侧和顶部边框的距离;
   var oX=e.clientX-div2.offsetLeft;
   var oY=e.clientY-div2.offsetTop;
   //当鼠标移动,把鼠标的偏移量付给div
   document.onmousemove=function(ev){
   //计算出鼠标在XY方向上移动的偏移量,把这个偏移量加给DIV的左边距和上边距,div就会跟着移动
   var e=window.event|| ev;
   div2.style.left=e.clientX-oX+"px";
   div2.style.top=e.clientY-oY+"px";
   }
   //当鼠标按键抬起,清除移动事件
   document.onmouseup=function(){
   document.onmousemove=null;
   document.onmouseup=null;
   }
  }
  }
 </script>
 </body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript中的其他对象
Jan 16 Javascript
20个非常有用的PHP类库 加速php开发
Jan 15 Javascript
jquery多浏览器捕捉回车事件代码
Jun 22 Javascript
Js-$.extend扩展方法使方法参数更灵活
Jan 15 Javascript
jQuery给动态添加的元素绑定事件的方法
Mar 09 Javascript
javascript基于prototype实现类似OOP继承的方法
Dec 16 Javascript
微信小程序 wxapp视图容器 view详解
Oct 31 Javascript
详谈JavaScript的闭包及应用
Jan 17 Javascript
vue实现图片加载完成前的loading组件方法
Feb 05 Javascript
详解vue的diff算法原理
May 20 Javascript
JavaScript实现的拼图算法分析
Feb 13 Javascript
详解vue实现坐标拾取器功能示例
Nov 18 Vue.js
基于vue2的table分页组件实现方法
Mar 20 #Javascript
详解Weex基于Vue2.0开发模板搭建
Mar 20 #Javascript
基于vue.js实现侧边菜单栏
Mar 20 #Javascript
微信小程序 参数传递实例代码
Mar 20 #Javascript
vue.js指令v-model使用方法
Mar 20 #Javascript
微信小程序中子页面向父页面传值实例详解
Mar 20 #Javascript
JS查找英文文章中出现频率最高的单词
Mar 20 #Javascript
You might like
php实现的任意进制互转类分享
2015/07/07 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
2015/12/18 PHP
使用正则去除php代码中的注释方法
2016/11/03 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
PHP操作XML中XPath的应用示例
2019/07/04 PHP
javascript 用记忆函数快速计算递归函数
2010/03/15 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
javascript实现获取服务器时间
2015/05/19 Javascript
详解js中class的多种函数封装方法
2016/01/03 Javascript
js中最容易被忽视的事件问题大总结
2016/05/15 Javascript
Node.js连接MongoDB数据库产生的问题
2017/02/08 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
微信小程序静默登录的实现代码
2020/01/08 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
Python实现的拉格朗日插值法示例
2019/01/08 Python
python 多线程重启方法
2019/02/18 Python
python PyAutoGUI 模拟鼠标键盘操作和截屏功能
2019/08/04 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
python pygame实现球球大作战
2019/11/25 Python
Django:使用filter的pk进行多值查询操作
2020/07/15 Python
JD Sports芬兰:英国领先的运动鞋和运动服饰零售商
2018/11/16 全球购物
PHP如何对用户密码进行加密
2014/07/31 面试题
促销活动策划方案
2014/01/12 职场文书
五一活动标语
2014/06/30 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
2014年图书室工作总结
2014/12/09 职场文书
毕业设计指导教师评语
2014/12/30 职场文书
学校光盘行动倡议书
2015/04/28 职场文书
毕业实习证明范本
2015/06/16 职场文书
五年级作文之成长
2019/09/16 职场文书
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python
html+css实现分层金字塔的实例
2021/06/02 HTML / CSS
PHP中国际化的字符串排序和比较对象详解
2021/08/23 PHP