JS实现鼠标按下拖拽效果


Posted in Javascript onJuly 23, 2020

原生JS实现鼠标按下拖拽效果,供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="en">

<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>鼠标拖动</title>
 <style type="text/css">
 body {
  margin: 0;
 }

 div {
  width: 200px;
  height: 200px;
  position: absolute;
  background-color: pink;
 }
 </style>
</head>

<body>

 <div onmousedown="downDiv(this)" onmousemove="moveDiv(this)" onmouseup="upDiv(this)">

 </div>



 <script>
 //定义变量储存div的宽高
 var obj_w, obj_h;
 //定义一个变量判断是否执行移动函数
 var mouseDown = false;

 //鼠标按下函数
 function downDiv(obj) {
  //获取div的宽高
  obj_w = obj.offsetWidth;
  obj_h = obj.offsetHeight;
  //鼠标
  var e = event || window.event;
  //e.clientX/Y 是获取鼠标相对浏览器的位置;将div中心自动居中到鼠标
  obj.style.left = (e.clientX - obj_w / 2) + "px";
  obj.style.top = (e.clientY - obj_h / 2) + "px";
  console.log(obj.style.left, obj.style.top)
  //按下时为ture,松开时为false,以判断是否执行执行mouveDiv
  mouseDown = true;

 }

 //鼠标移动函数
 function moveDiv(obj) {
  obj_w = obj.offsetWidth;
  obj_h = obj.offsetHeight;
  var e = event || window.event;
  console.log(e.clientX, e.clientY);
  console.log(obj_w, obj_h);
  if (mouseDown) {
  obj.style.left = (e.clientX - obj_w / 2) + "px";
  obj.style.top = (e.clientY - obj_h / 2) + "px";
  console.log(obj.style.left, obj.style.top)
  }

 }

 //鼠标松开函数
 function upDiv(obj) {
  mouseDown = false;
 }

 </script>
</body>

</html>

更多精彩文章请点击专题: Javascript拖拽特效汇总

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 获取网页参数系统
Jul 19 Javascript
zeroclipboard复制到剪切板的flash
Aug 04 Javascript
javascript四舍五入函数代码分享(保留后几位)
Dec 10 Javascript
js中文逗号转英文实现
Feb 11 Javascript
jQuery获得document和window对象宽度和高度的方法
Mar 25 Javascript
JS使用parseInt解析数字实现求和的方法
Aug 05 Javascript
js调出上下文菜单的实例
Dec 17 Javascript
基于JavaScript Array数组方法(新手必看篇)
Aug 20 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
Jan 04 Javascript
常用jQuery选择器汇总
Feb 02 Javascript
js canvas实现放大镜查看图片功能
Jun 08 Javascript
angularjs2 ng2 密码隐藏显示的实例代码
Aug 01 Javascript
javascript利用canvas实现鼠标拖拽功能
Jul 23 #Javascript
JS如何实现封装列表右滑动删除收藏按钮
Jul 23 #Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
Jul 23 #Javascript
JS前后端实现身份证号验证代码解析
Jul 23 #Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
Jul 23 #Javascript
在vue中封装的弹窗组件使用队列模式实现方法
Jul 23 #Javascript
基于JS实现计算24点算法代码实例解析
Jul 23 #Javascript
You might like
PHP开发框架总结收藏
2008/04/24 PHP
php读取文件内容的方法汇总
2015/01/24 PHP
PHP脚本监控Nginx 502错误并自动重启php-fpm
2015/05/13 PHP
PHP CURL中传递cookie的方法步骤
2019/05/09 PHP
定义select的边框颜色
2008/04/28 Javascript
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
js Map List 遍历使用示例
2013/07/10 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
鼠标经过出现气泡框的简单实例
2017/03/17 Javascript
jQuery实现用户信息表格的添加和删除功能
2017/09/12 jQuery
Angular实现预加载延迟模块的示例
2017/10/12 Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
2018/05/08 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
vue+node实现图片上传及预览的示例方法
2018/11/22 Javascript
在VUE中实现文件下载并判断状态的方法
2019/11/08 Javascript
vue实现购物车功能(商品分类)
2020/04/20 Javascript
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
[02:41]《西雅图我们来了》2015国际邀请赛出征全记录
2015/07/23 DOTA
基于python 二维数组及画图的实例详解
2018/04/03 Python
Python生成器定义与简单用法实例分析
2018/04/30 Python
Python的Lambda函数用法详解
2019/09/03 Python
Python中*args和**kwargs的区别详解
2019/09/17 Python
Python数据处理篇之Sympy系列(五)---解方程
2019/10/12 Python
scrapy中如何设置应用cookies的方法(3种)
2020/09/22 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
加拿大时尚少女服装品牌:Garage
2016/10/10 全球购物
中国排名第一的外贸销售网站:LightInTheBox.com(兰亭集势)
2016/10/28 全球购物
在Ajax应用中信息是如何在浏览器和服务器之间传递的
2016/05/31 面试题
市三好学生主要事迹
2014/01/28 职场文书
小学生学习感言
2014/03/10 职场文书
新闻稿件写作技巧
2015/07/18 职场文书
企业廉洁教育心得体会
2016/01/20 职场文书
MySQL中varchar和char类型的区别
2021/11/17 MySQL