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
js的2种继承方式详解
Mar 04 Javascript
JS实现的网页倒计时数字时钟效果
Mar 02 Javascript
JavaScript DSL 流畅接口(使用链式调用)实例
Mar 15 Javascript
果断收藏9个Javascript代码高亮脚本
Jan 06 Javascript
JS创建事件的三种方法(实例代码)
May 12 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
Jun 04 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
Dec 27 Javascript
详解Angular系列之变化检测(Change Detection)
Feb 26 Javascript
解决angularjs中同步执行http请求的方法
Aug 13 Javascript
详解Vue的组件中data选项为什么必须是函数
Aug 17 Javascript
javascript实现计算器功能详解流程
Nov 01 Javascript
基于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编程效率 引入缓存机制提升性能
2010/02/15 PHP
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
Yii1.1中通过Sql查询进行的分页操作方法
2017/03/16 PHP
XHTML-Strict 内允许出现的标签
2006/12/11 Javascript
使用EXT实现无刷新动态调用股票信息
2008/11/01 Javascript
jquery提升性能最佳实践小结
2010/12/06 Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
2012/02/27 Javascript
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
js下拉框二级关联菜单效果代码具体实现
2013/08/03 Javascript
javascript在子页面中函数无法调试问题解决方法
2014/01/17 Javascript
jQuery+ajax实现鼠标单击修改内容的方法
2014/06/27 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
2016/01/04 Javascript
jQuery插件开发精品教程让你的jQuery提升一个台阶
2016/01/27 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
JS及PHP代码编写八大排序算法
2016/07/12 Javascript
深入理解JS继承和原型链的问题
2016/12/17 Javascript
js 输入框 正则表达式(菜鸟必看教程)
2017/02/19 Javascript
Bootstrap 表单验证formValidation 实现表单动态验证功能
2017/05/17 Javascript
JavaScript实现时间表动态效果
2017/07/15 Javascript
vue.js默认路由不加载linkActiveClass问题的解决方法
2017/12/11 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
2018/11/02 Javascript
微信小程序如何获取用户收货地址
2018/11/27 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
2020/09/02 Javascript
[10:28]2018DOTA2国际邀请赛寻真——VGJ.S寻梦之路
2018/08/15 DOTA
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
python实现批量解析邮件并下载附件
2018/06/19 Python
django admin 自定义替换change页面模板的方法
2019/08/23 Python
如何定义TensorFlow输入节点
2020/01/23 Python
一款纯css3实现的圆形旋转分享按钮旋转角度可自己调整
2014/09/02 HTML / CSS
戴尔新西兰官网:Dell New Zealand
2020/01/07 全球购物
校园演讲稿汇总
2014/05/21 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
写给女朋友的检讨书
2015/05/06 职场文书
vue实现水波涟漪效果的点击反馈指令
2021/05/31 Vue.js
MySQL如何快速创建800w条测试数据表
2022/03/17 MySQL
Python爬取奶茶店数据分析哪家最好喝以及性价比
2022/09/23 Python