JS实现鼠标按下拖拽效果

 更新时间:2020年07月23日 15:08:59   作者:York_Ice  
这篇文章主要为大家详细介绍了JS实现鼠标按下拖拽效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

原生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拖拽特效汇总

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

相关文章

  • 小程序中手机号识别的示例

    小程序中手机号识别的示例

    这篇文章主要介绍了小程序中手机号识别的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • ES6中的Promise对象与async和await方法详解

    ES6中的Promise对象与async和await方法详解

    Promise是es6引入的异步编程薪解决方案,语法上promise就是一个构造函数,用来封装异步操作病可以获取其成功或失败的结果,这篇文章主要介绍了ES6中的Promise对象与async和await方法,需要的朋友可以参考下
    2022-12-12
  • 在Iframe中获取父窗口中表单的值(示例代码)

    在Iframe中获取父窗口中表单的值(示例代码)

    这篇文章主要介绍了在Iframe中获取父窗口中表单的值(示例代码)。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-11-11
  • JavaScript实现复选框全选功能

    JavaScript实现复选框全选功能

    这篇文章主要为大家详细介绍了JavaScript实现复选框全选功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • json对象和formData相互转换的方式详解

    json对象和formData相互转换的方式详解

    我们有两种常见的传参方式: JSON 对象格式和 formData 格式,但是一些场景是需要我们对这两种数据格式进行转换的,这篇文章主要介绍了json对象和formData相互转换的方式详解,需要的朋友可以参考下
    2023-02-02
  • 省市区三级联动下拉框菜单javascript版

    省市区三级联动下拉框菜单javascript版

    这篇文章主要给大家介绍了javascript实现省市区三级联动下拉框菜单,有需要的朋友可以参考下
    2015-08-08
  • JS中async/await实现异步调用的方法

    JS中async/await实现异步调用的方法

    这篇文章主要介绍了async/await实现异步调用的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • 改进UCHOME的记录发布,增强可访问性用户体验

    改进UCHOME的记录发布,增强可访问性用户体验

    今天是看到UCDChina上的一篇文章文章 ,是关于SNS的用户体验问题,发觉文中提到的第一个细节,UCHOME就做的不好,于是改进了一下。
    2011-01-01
  • 微信小程序实现电子签名功能

    微信小程序实现电子签名功能

    这篇文章主要为大家详细介绍了微信小程序实现电子签名功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • JavaScript监控埋点的实现与详细用法

    JavaScript监控埋点的实现与详细用法

    埋点(Event Tracking)是用户行为监控的一种技术手段,通常用于收集用户在网站或应用中的操作数据,例如点击、页面浏览、滚动等,本文给大家介绍了JavaScript监控埋点的实现与详细用法,需要的朋友可以参考下
    2024-10-10

最新评论