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设置金额样式转换保留两位小数示例代码
Dec 04 Javascript
给angular加上动画效遇到的问题总结
Feb 17 Javascript
web前端开发upload上传头像js示例代码
Oct 22 Javascript
js下拉菜单生成器dropMenu使用方法详解
Aug 01 Javascript
vue-router 导航钩子的具体使用方法
Aug 31 Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
Sep 14 Javascript
ionic3实战教程之随机布局瀑布流的实现方法
Dec 28 Javascript
Vue数据双向绑定原理及简单实现方法
May 18 Javascript
vuex页面刷新后数据丢失的方法
Jan 17 Javascript
layui的layedit富文本赋值方法
Sep 18 Javascript
Vue.js下拉菜单组件使用方法详解
Oct 19 Javascript
react中useState使用:如何实现在当前表格直接更改数据
Aug 05 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
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
php类的定义与继承用法实例
2015/07/07 PHP
js代码实现微博导航栏
2015/07/30 PHP
详解PHP+AJAX无刷新分页实现方法
2015/11/03 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
php出租房数据管理及搜索页面
2017/05/23 PHP
PHP单元测试框架PHPUnit用法详解
2019/01/23 PHP
JavaScript 比较时间大小的代码
2010/04/24 Javascript
使用CSS样式position:fixed水平滚动的方法
2014/02/19 Javascript
js+html5实现可在手机上玩的拼图游戏
2015/07/17 Javascript
jquery无限级联下拉菜单简单实例演示
2015/11/23 Javascript
解析JavaScript模仿块级作用域
2016/12/29 Javascript
js仿小米手机上下滑动效果
2017/02/05 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
简单的JS控制button颜色随点击更改的实现方法
2017/04/17 Javascript
Js利用Canvas实现图片压缩功能
2017/09/13 Javascript
AngularJS中下拉框的高级用法示例
2017/10/11 Javascript
vue 文件目录结构详解
2017/11/24 Javascript
微信小程序如何获取openid及用户信息
2018/01/26 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
2018/12/06 Javascript
Vue中通过Vue.extend动态创建实例的方法
2019/08/13 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
深入理解python中的闭包和装饰器
2016/06/12 Python
对numpy下的轴交换transpose和swapaxes的示例解读
2019/06/26 Python
python实现简单学生信息管理系统
2020/04/09 Python
网购亚洲时装、美容产品和生活百货:YesStyle
2016/09/15 全球购物
Cult Gaia官网:美国生活方式品牌
2019/08/16 全球购物
豪华复古化妆:Besame Cosmetics
2019/09/06 全球购物
电子商务专业自我鉴定
2013/12/18 职场文书
聚美优品恶搞广告词
2014/03/14 职场文书
培训班主持词
2014/03/28 职场文书
2015年党员公开承诺书范文
2015/01/22 职场文书
秋季运动会加油词
2015/07/18 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
Nginx工作原理和优化总结。
2021/04/02 Servers
你真的了解PHP中的引用符号(&)吗
2021/05/12 PHP