前言
我们在网页操作的时候,经常用到鼠标拖拽元素的行为。本篇文章就来讨论一下鼠标拖拽元素的原理及简单的实现过程。一、实现思路
首先鼠标拖拽要用到三大事件
onmousedown:鼠标选择元素
onmousemove:鼠标移动元素
onmouseup:释放元素,也就是先用鼠标点击元素,然后拖拽元素到某一位置,释放元素的过程。
那么如何进行拖拽移动呢,主要是根据我们鼠标移动时的坐标变化来实现的
伪代码如下:
鼠标在元素上按下时{
拖拽状态 = 1
记录下鼠标的x和y坐标
记录下元素的x和y坐标
}
鼠标拖拽元素移动时{
如果拖拽状态是0就什么也不做。
如果拖拽状态是1,那么{
元素y = 现在鼠标y - 原来鼠标y + 原来元素y
元素x = 现在鼠标x - 原来鼠标x + 原来元素x
}
鼠标放开时{
拖拽状态 = 0
}
二、具体步骤
1.鼠标在元素上按下时
dv.onmousedown = function(e) {
//鼠标获取x坐标和y坐标
x = e.clientX;
y = e.clientY;
//获取左部和顶部的偏移量(坐标)
l = dv.offsetLeft;
t = dv.offsetTop;
//开关打开
isDown = true;
}
2.鼠标拖拽元素时
window.onmousemove = function(e) {
if (isDown