html 鼠标拖拽事件,JavaScript鼠标拖拽事件实现的案例

这篇文章详细介绍了如何使用JavaScript来实现元素的鼠标拖拽功能。通过监听鼠标按下、移动和释放事件,实时更新元素的位置,实现了元素随鼠标移动的效果。代码中包括了关键变量的声明、事件处理函数以及坐标计算的逻辑。
摘要由CSDN通过智能技术生成

这篇文章主要为大家详细介绍了使用javaScript实现鼠标拖拽事件的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

body{

margin: 0;

padding: 0;

}

p{

position: absolute;

top: 200px;/*p的y轴*/

left: 150px;/*p的x轴*/

width: 300px;

height: 200px;

background-color: gray;

}

p:hover{

cursor: move;

}

/*

* 分析:

* 获取鼠标实时移动的坐标;m_move_x,m_move_y

* 鼠标按下时的坐标;m_down_x,m_down_y

* p的坐标;dx,dy

* 鼠标按下时,鼠标与p的偏移量;md_x,md_y

* p的新坐标;ndx,ndy

*/

var isDown = false;//记录鼠标状态

var move_p ;//要操作的p对象

var m_move_x,m_move_y,m_down_x,m_down_y,dx,dy,md_x,md_y,ndx,ndy;

//鼠标按下

function down(){

move_p = document.getElementById("move_p");

isDown = true;

//获取鼠标按下时坐标

m_down_x = event.pageX;

m_down_y = event.pageY;

//获取p坐标

dx = move_p.offsetLeft;

dy = move_p.offsetTop;

//获取鼠标与p偏移量

md_x = m_down_x - dx;

md_y = m_down_y - dy;

}

//鼠标移动

function move(){

move_p = document.getElementById("move_p");

//实时更新p的坐标

dx = move_p.offsetLeft;

dy = move_p.offsetTop;

//获取鼠标移动实时坐标

m_move_x = event.pageX;

m_move_y = event.pageY;

//鼠标按下时移动才触发

if(isDown){

//获取新p坐标,鼠标实时坐标 - 鼠标与p的偏移量

ndx = m_move_x - md_x;

ndy = m_move_y - md_y;

//把新p坐标值赋给p对象

move_p.style.left = ndx+"px";

move_p.style.top = ndy+"px";

}

}

//鼠标释放

function up(){

isDown = false;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值