使用javaScript实现鼠标拖拽事件
发布时间 - 2026-01-11 03:26:44 点击率:次本文实例为大家分享了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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
如何用花生壳三步快速搭建专属网站?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
HTML 中动态设置元素 name 属性的正确语法详解
实例解析Array和String方法
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
Laravel如何实现用户注册和登录?(Auth脚手架指南)
大型企业网站制作流程,做网站需要注册公司吗?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
Java遍历集合的三种方式
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
北京网站制作公司哪家好一点,北京租房网站有哪些?
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
如何为不同团队 ID 动态生成多个“认领值班”按钮
如何快速搭建自助建站会员专属系统?
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
使用spring连接及操作mongodb3.0实例
Laravel如何使用Vite进行前端资源打包?(配置示例)
如何批量查询域名的建站时间记录?
黑客如何通过漏洞一步步攻陷网站服务器?
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
专业商城网站制作公司有哪些,pi商城官网是哪个?
长沙做网站要多少钱,长沙国安网络怎么样?
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
WEB开发之注册页面验证码倒计时代码的实现
清除minerd进程的简单方法
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
Laravel API资源类怎么用_Laravel API Resource数据转换
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
如何在Windows虚拟主机上快速搭建网站?
如何挑选高效建站主机与优质域名?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
JavaScript如何实现错误处理_try...catch如何捕获异常?
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
如何快速生成橙子建站落地页链接?
Internet Explorer官网直接进入 IE浏览器在线体验版网址
Python制作简易注册登录系统
深入理解Android中的xmlns:tools属性
如何挑选优质建站一级代理提升网站排名?

