给定一个 clientX 坐标,我如何确定该点离父容器右边缘有多远?我可以正确地做左边缘
event.target.style.left = (((cX-event.target.parentNode.offsetLeft)) / event.target.parentNode.clientWidth)*100 +"%";
但似乎无法弄清楚要比较的值,相对于右边缘。(已编辑(
或者,实际上,Event.target的右边缘离右边有多远,因为style.right的位置与右边缘的距离 cX 是 JQuery UI 可拖动停止回调事件的客户端 X
尝试使用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/