拖拽悬浮元素球到页面任意位置

634 阅读1分钟
需求背景:需要界面有个悬浮球,鼠标点击悬浮球不放可拖动其位置到界面任意位置,当鼠标放开后该悬浮球定格在释放时的位置,点击悬浮球触发对应事件;
  1. 要想实现元素可拖拽功能,首先就需要弄明白一些概念clientX、clientY、offsetX、offsetY、screenX、screenY
  • clientX: 设置或获取鼠标指针位置相对于窗口客户区域的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条;

  • clientY: 设置或获取鼠标指针位置相对于窗口客户区域的 y 坐标,其中客户区域不包括窗口自身的控件和滚动条。

  • offsetX: 设置或获取鼠标指针位置相对于触发事件的(this)对象的 x 坐标。

  • offsetY :设置或获取鼠标指针位置相对于触发事件的(this)对象的 y 坐标。

  • screenX: 设置或获取获取鼠标指针位置相对于用户屏幕的 x 坐标。

  • screenY: 设置或获取鼠标指针位置相对于用户屏幕的 y 坐标。

    为了方便理解,请参考下图所示

image.png 2. 还需要理解element自身的一些基本属性知识 image.png 3. 理解了基本知识点后,就可以写功能代码具体实现了,如下图所示