04:JS 拖拽功能的实现
2022-05-08 本文已影响0人
小小前端搬运工
首先是三个事件,分别是 mousedown
,mousemove
,mouseup
当鼠标点击按下的时候,需要一个 tag 标识此时已经按下,可以执行 mousemove 里面的具体方法。
clientX
,clientY
标识的是鼠标的坐标,分别标识横坐标和纵坐标,并且我们用 offsetX
和 offsetY
来表示元素的元素的初始坐标,移动的举例应该是:
鼠标移动时候的坐标-鼠标按下去时候的坐标。
也就是说定位信息为:
鼠标移动时候的坐标-鼠标按下去时候的坐标+元素初始情况下的 offetLeft.
还有一点也是原理性的东西,也就是拖拽的同时是绝对定位,我们改变的是绝对定位条件下的 left 以及 top 等等值。
补充:也可以通过 html5 的拖放(Drag 和 drop)来实现