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 相关文章推荐
Jquery iframe内部出滚动条
Feb 11 Javascript
Jquery 实现Tab效果 思路是js思路
Mar 02 Javascript
JsDom 编程小结
Aug 09 Javascript
jQuery extend 的简单实例
Sep 18 Javascript
Javascript获取当前时间函数和时间操作小结
Oct 01 Javascript
JS实现一个按钮的方法
Feb 05 Javascript
Angular 4依赖注入学习教程之组件服务注入(二)
Jun 04 Javascript
利用jsonp与代理服务器方案解决跨域问题
Sep 14 Javascript
Vue.js 2.x之组件的定义和注册图文详解
Jun 19 Javascript
基于bootstrap页面渲染的问题解决方法
Aug 09 Javascript
Vue项目history模式下微信分享爬坑总结
Mar 29 Javascript
微信小程序实现Swiper轮播图效果
Nov 22 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
mysql 全文搜索 技巧
2007/04/27 PHP
Zend studio文件注释模板设置方法
2013/09/29 PHP
php删除左端与右端空格的方法
2014/11/29 PHP
Yii 2.0实现联表查询加搜索分页的方法示例
2017/08/02 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
HR vs CL BO3 第二场 2.13
2021/03/10 DOTA
Javascript 检测、添加、移除样式(className)函数代码
2009/09/08 Javascript
eval与window.eval的差别分析
2011/03/17 Javascript
javascript实现table选中的行以指定颜色高亮显示的方法
2015/05/13 Javascript
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
从零学习node.js之简易的网络爬虫(四)
2017/02/22 Javascript
JS闭包的几种常见形式实例详解
2017/09/16 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
webpack+vue2构建vue项目骨架的方法
2018/01/09 Javascript
详解微信小程序调用支付接口支付
2019/04/28 Javascript
vue实现计步器功能
2019/11/01 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
JS实现省市县三级下拉联动
2020/04/10 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
2020/04/30 Javascript
Python生成验证码实例
2014/08/21 Python
使用grappelli为django admin后台添加模板
2014/11/18 Python
Pycharm学习教程(5) Python快捷键相关设置
2017/05/03 Python
Python入门_学会创建并调用函数的方法
2017/05/16 Python
python列表的增删改查实例代码
2018/01/30 Python
Python实现的寻找前5个默尼森数算法示例
2018/03/25 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
2019/10/16 Python
Python 项目转化为so文件实例
2019/12/23 Python
Python 炫技操作之合并字典的七种方法
2020/04/10 Python
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
幼儿发展评估方案
2014/06/11 职场文书
学生个人总结范文
2015/02/15 职场文书
班主任经验交流心得体会
2015/11/02 职场文书
创业计划书之溜冰场
2019/10/25 职场文书
《妈妈别哭,有我在》读后感3篇
2020/01/13 职场文书
python字符串的多行输出的实例详解
2021/06/08 Python
CSS中float高度塌陷问题的四种解决方案
2022/04/18 HTML / CSS