从父右边获取位置,以%为单位

时间:2018-10-19 09:50:51

标签: javascript position

给出一个clientX坐标,我如何确定该点距父容器的 right 边缘有多远?我可以用

正确地做左边缘
event.target.style.left = (((cX-event.target.parentNode.offsetLeft)) / event.target.parentNode.clientWidth)*100 +"%";

但是似乎无法找出相对于右边缘要比较的值。(已编辑)

或实际上,event.target的右边缘距离右边缘多远,因为style.right位置距右边缘  cX是JQuery UI可拖动停止回调事件的clientX

1 个答案:

答案 0 :(得分:0)

尝试使用getClientBoundingRect()

  function getPosition(e) {
      var rect = e.target.getBoundingClientRect();
      console.log(rect)
      var x =  Math.abs(e.clientX - rect.right);
      var y = e.clientY - rect.top;
      return {
        x,
        y,
        procent: x / (rect.width / 100)  
      }
   }

示例: https://jsfiddle.net/bogdanm/ocLn138v/