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判断对象是否相等实现代码
Mar 18 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
Aug 23 Javascript
关于jQuery中的each方法(jQuery到底干了什么)
Mar 05 Javascript
JS实现div居中示例
Apr 17 Javascript
JS图片自动轮换效果实现思路附截图
Apr 30 Javascript
一些老手都不一定知道的JavaScript技巧
May 06 Javascript
利用Js的console对象,在控制台打印调式信息测试Js的实现
Nov 26 Javascript
Angular ng-repeat指令实例以及扩展部分
Dec 26 Javascript
基于react框架使用的一些细节要点的思考
May 31 Javascript
Vue的事件响应式进度条组件实例详解
Feb 04 Javascript
vue实现图片裁剪后上传
Dec 16 Vue.js
cypress测试本地web应用
Jun 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
Session保存到数据库的php类分享
2011/10/24 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
2014/06/27 PHP
使用PHP实现生成HTML静态页面
2015/11/18 PHP
PHP使用数组依次替换字符串中匹配项
2016/01/08 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
2016/07/14 PHP
PHP对象链式操作实现原理分析
2016/10/09 PHP
最简单的jQuery程序 入门者学习
2009/07/09 Javascript
jQuery 页面 Mask实现代码
2010/01/09 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
jquery如何根据值设置默认的选中项
2014/03/17 Javascript
JavaScript函数获取事件源的小例子
2014/05/14 Javascript
一个支持任意尺寸的图片上下左右滑动效果
2014/08/24 Javascript
JS+CSS实现仿msn风格选项卡效果代码
2015/10/22 Javascript
Jquery操作cookie记住用户名
2016/03/29 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
2016/09/21 Javascript
jquery  实现轮播图详解及实例代码
2016/10/12 Javascript
原生JS实现导航下拉菜单效果
2020/11/25 Javascript
js实现倒计时关键代码
2017/05/05 Javascript
用js将long型数据转换成date型或datetime型的实例
2017/07/03 Javascript
jQuery-ui插件sortable实现自由拖动排序
2018/12/01 jQuery
Vuex实现数据增加和删除功能
2019/11/11 Javascript
[52:26]完美世界DOTA2联赛决赛 FTD vs Phoenix 第一场 11.08
2020/11/11 DOTA
sqlalchemy对象转dict的示例
2014/04/22 Python
浅谈python对象数据的读写权限
2016/09/12 Python
Python魔法方法详解
2019/02/13 Python
Python音频操作工具PyAudio上手教程详解
2019/06/26 Python
python pandas时序处理相关功能详解
2019/07/03 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
2020/01/04 Python
Django 返回json数据的实现示例
2020/03/05 Python
vscode写python时的代码错误提醒和自动格式化的方法
2020/05/07 Python
深入了解NumPy 高级索引
2020/07/24 Python
简单整理HTML5的基本特性和语法
2016/02/18 HTML / CSS
订货会邀请函
2015/01/31 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书
一年级语文教学随笔
2015/08/14 职场文书