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 相关文章推荐
dojo学习第一天 Tab选项卡 实现
Aug 28 Javascript
js实现拖拽 闭包函数详细介绍
Nov 25 Javascript
JS画线(实例代码)
Nov 20 Javascript
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
May 16 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
May 25 Javascript
javascript实现的左右无缝滚动效果
Sep 19 Javascript
javascript中的try catch异常捕获机制用法分析
Dec 14 Javascript
利用js来实现缩略语列表、文献来源链接和快捷键列表
Dec 16 Javascript
详解handlebars+require基本使用方法
Dec 21 Javascript
世界上最短的数字判断js代码
Sep 09 Javascript
layui多图上传实现删除功能的例子
Sep 23 Javascript
关于vue-cli3打包代码后白屏的解决方案
Sep 02 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
thinkPHP+ajax实现统计页面pv浏览量的方法
2017/03/15 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
2019/09/23 PHP
一个对于js this关键字的问题
2007/01/09 Javascript
JavaScript 实现??打印?理
2007/04/28 Javascript
getElementById在任意一款浏览器中都可以用吗的疑问回复
2007/05/13 Javascript
jquery更换文章内容与改变字体大小代码
2013/09/30 Javascript
AngularJS基础知识
2014/12/21 Javascript
判断浏览器的内核及版本号方法汇总
2015/01/05 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
js仿微信公众平台打标签功能
2017/04/08 Javascript
NodeJS自定义模块写法(详解)
2017/06/27 NodeJs
利用jsonp与代理服务器方案解决跨域问题
2017/09/14 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
nodejs更改项目端口号的方法
2018/05/13 NodeJs
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
2018/08/09 jQuery
webuploader分片上传的实现代码(前后端分离)
2018/09/10 Javascript
解决vue脚手架项目打包后路由视图不显示的问题
2018/09/20 Javascript
浅谈layui使用模板引擎动态渲染元素要注意的问题
2019/09/14 Javascript
通过原生vue添加滚动加载更多功能
2019/11/21 Javascript
Vue插件之滑动验证码用法详解
2020/04/05 Javascript
Vue实现随机验证码功能
2020/12/29 Vue.js
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
进一步理解Python中的函数编程
2015/04/13 Python
Python进阶篇之字典操作总结
2016/11/16 Python
Pycharm+Python工程,引用子模块的实现
2020/03/09 Python
python 字典item与iteritems的区别详解
2020/04/25 Python
Python Merge函数原理及用法解析
2020/09/16 Python
简单介绍CSS3中Media Query的使用
2015/07/07 HTML / CSS
蔻驰西班牙官网:COACH西班牙
2019/01/16 全球购物
租赁协议书范本
2014/04/22 职场文书
夏洛特的网观后感
2015/06/15 职场文书
想要创业,那么你做好准备了吗?
2019/07/01 职场文书
Python正则表达式中flags参数的实例详解
2022/04/01 Python
python中Pyqt5使用Qlabel标签播放视频
2022/04/22 Python