如何从jquery中的父元素获取子元素的xy坐标?

时间:2011-12-09 13:30:24

标签: jquery jquery-ui position

如何从父元素获取子元素的xy坐标,而不是(body)?如何从DIV B到DIV A获取x值,所以当窗口调整大小时,值保持为真?

enter image description here

var startPos = $("#divB").position();
$("#divB").draggable({ 
     containment: 'parent',
     stop: function(event, ui) {
        var stopPos = $(this).position();
        $("#firstInput").val((stopPos.left - startPos.left));
     }
});

是否有方法直接获取此值而不是整个屏幕的xy坐标?

1 个答案:

答案 0 :(得分:2)

获取子元素相对于其父元素position()的偏移量:

$("#child").position().left;
$("#child").position().top;

关于这一点的警告是,父母必须position: static才能使其发挥作用。如果父项是静态的,jQuery将只返回offset() - 我假设你的代码中发生了什么。

static是大多数块元素的默认值,因此您需要在父级中将position设置为fixedabsoluterelative你的CSS。