全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

使用javaScript实现鼠标拖拽事件

本文实例为大家分享了js实现鼠标拖拽事件的具体代码,供大家参考,具体内容如下

<html>
 <head>
  <meta charset="UTF-8">
  <title></title>

  <style>
   body{
    margin: 0;
    padding: 0;
   }
   div{
    position: absolute;
    top: 200px;/*div的y轴*/
    left: 150px;/*div的x轴*/
    width: 300px;
    height: 200px;
    background-color: gray;
   }
   div:hover{
    cursor: move;
   }
  </style>

  <script>

   /*
    * 分析:
    * 获取鼠标实时移动的坐标;m_move_x,m_move_y
    * 鼠标按下时的坐标;m_down_x,m_down_y
    * div的坐标;dx,dy
    * 鼠标按下时,鼠标与div的偏移量;md_x,md_y
    * div的新坐标;ndx,ndy
    */

   var isDown = false;//记录鼠标状态
   var move_div ;//要操作的div对象
   var m_move_x,m_move_y,m_down_x,m_down_y,dx,dy,md_x,md_y,ndx,ndy;

   //鼠标按下
   function down(){
    move_div = document.getElementById("move_div");
    isDown = true;

    //获取鼠标按下时坐标
    m_down_x = event.pageX;
    m_down_y = event.pageY;

    //获取div坐标
    dx = move_div.offsetLeft;
    dy = move_div.offsetTop;

    //获取鼠标与div偏移量
    md_x = m_down_x - dx;
    md_y = m_down_y - dy;
   }

   //鼠标移动
   function move(){
    move_div = document.getElementById("move_div");

    //实时更新div的坐标
    dx = move_div.offsetLeft;
    dy = move_div.offsetTop;

    //获取鼠标移动实时坐标
    m_move_x = event.pageX;
    m_move_y = event.pageY;

    //鼠标按下时移动才触发
    if(isDown){

     //获取新div坐标,鼠标实时坐标 - 鼠标与div的偏移量
     ndx = m_move_x - md_x;
     ndy = m_move_y - md_y;

     //把新div坐标值赋给div对象
     move_div.style.left = ndx+"px";
     move_div.style.top = ndy+"px";

    }

   }

   //鼠标释放
   function up(){
    isDown = false;
   }


  </script>

 </head>
 <body>

  <div id="move_div" onmousedown="down()" onmouseup="up()" onmousemove="move()"></div>

 </body>
</html>

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


# js鼠标拖拽  # js鼠标拖拽事件  # js拖拽事件  # js实现拖拽效果  # 使用js实现的简单拖拽效果  # JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)  # JS实现的文件拖拽上传功能示例  # JS实现移动端触屏拖拽功能  # 前端原生js实现拖拽排课效果实例  # 鼠标  # 按下  # 偏移量  # 大家分享  # 具体内容  # 大家多多  # 拖拽  # 把新  # 坐标值  # 新坐标  # div  # position  # absolute  # background  # left  # margin  # padding  # width  # px  # top 


相关文章: ,怎么用自己头像做动态表情包?  招贴海报怎么做,什么是海报招贴?  全景视频制作网站有哪些,全景图怎么做成网页?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  如何撰写建站申请书?关键要点有哪些?  北京企业网站设计制作公司,北京铁路集团官方网站?  网站制作的步骤包括,正确网址格式怎么写?  建站之星×万网:智能建站系统+自助建站平台一键生成  如何选择适合PHP云建站的开源框架?  长沙企业网站制作哪家好,长沙水业集团官方网站?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  焦点电影公司作品,电影焦点结局是什么?  详解jQuery中基本的动画方法  家具网站制作软件,家具厂怎么跑业务?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  如何在香港免费服务器上快速搭建网站?  香港服务器如何优化才能显著提升网站加载速度?  已有域名能否直接搭建网站?  专业网站建设制作报价,网页设计制作要考什么证?  如何快速建站并高效导出源代码?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  建站之星如何保障用户数据免受黑客入侵?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  如何选择高效可靠的多用户建站源码资源?  高端云建站费用究竟需要多少预算?  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  如何在阿里云购买域名并搭建网站?  昆明高端网站制作公司,昆明公租房申请网上登录入口?  建站之星后台密码遗忘如何找回?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  如何在IIS中配置站点IP、端口及主机头?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  网站企业制作流程,用什么语言做企业网站比较好?  建站之星好吗?新手能否轻松上手建站?  Python路径拼接规范_跨平台处理说明【指导】  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  开封网站制作公司,网络用语开封是什么意思?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  建站主机是否属于云主机类型?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  电商平台网站制作流程,电商网站如何制作?  Python多线程使用规范_线程安全解析【教程】  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  广东企业建站网站优化与SEO营销核心策略指南  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  c++怎么用jemalloc c++替换默认内存分配器【性能】  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。