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 相关文章推荐
Prototype Object对象 学习
Jul 12 Javascript
深入理解javascript学习笔记(一) 编写高质量代码
Aug 09 Javascript
使用js获取地址栏中传递的值
Jul 02 Javascript
往光标所在位置插入值的js代码
Sep 22 Javascript
JQuery打造省市下拉框联动效果
May 18 Javascript
setinterval()与clearInterval()JS函数的调用方法
Jan 21 Javascript
扩展Bootstrap Tooltip插件使其可交互的方法
Nov 07 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
Jul 12 Javascript
Node接收电子邮件的实例代码
Jul 21 Javascript
VUE脚手架具体使用方法
May 20 Javascript
Vue的属性、方法、生命周期实例代码详解
Sep 17 Javascript
vue实现标签云效果的示例
Nov 09 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解析url的三个示例
2014/01/20 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
php获得文件夹下所有文件的递归算法的简单实例
2016/11/01 PHP
laravel config文件配置全局变量的例子
2019/10/13 PHP
初学JavaScript_03(ExtJs Grid的简单使用)
2008/10/02 Javascript
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
jquery事件与函数的使用介绍
2013/09/29 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
2015/05/25 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
Angular.JS中的指令引用template与指令当做属性详解
2017/03/30 Javascript
js实现随机点名小功能
2017/08/17 Javascript
ES6 更易于继承的类语法的使用
2019/02/11 Javascript
基于vue、react实现倒计时效果
2019/08/26 Javascript
Vue axios 将传递的json数据转为form data的例子
2019/10/29 Javascript
layui数据表格重载实现往后台传参
2019/11/15 Javascript
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
[01:35]2018年度CS GO最佳战队-完美盛典
2018/12/17 DOTA
python_opencv用线段画封闭矩形的实例
2018/12/05 Python
对PyQt5的输入对话框使用(QInputDialog)详解
2019/06/25 Python
使用python画社交网络图实例代码
2019/07/10 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
Python urllib request模块发送请求实现过程解析
2020/12/10 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
详解Canvas 跨域脱坑实践
2018/11/07 HTML / CSS
美国最顶级的精品店之一:Hampden Clothing
2016/12/22 全球购物
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
安全资料员岗位职责
2013/12/14 职场文书
国际贸易专业个人求职信格式
2014/02/02 职场文书
视光学专业自荐信
2014/06/24 职场文书
2014最新开业庆典策划方案(5篇)
2014/09/15 职场文书
初中教师个人工作总结
2015/02/10 职场文书
优秀班干部主要事迹材料
2015/11/04 职场文书
Pytorch中Softmax与LogSigmoid的对比分析
2021/06/05 Python
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL
《艾尔登法环》Boss腐烂树灵很有可能是《黑暗之魂3》的一个废案
2022/04/11 其他游戏
Django数据库(SQlite)基本入门使用教程
2022/07/07 Python