如何从父元素获取子元素的xy坐标,而不是(body)?如何从DIV B到DIV A获取x值,所以当窗口调整大小时,值保持为真?
var startPos = $("#divB").position();
$("#divB").draggable({
containment: 'parent',
stop: function(event, ui) {
var stopPos = $(this).position();
$("#firstInput").val((stopPos.left - startPos.left));
}
});
是否有方法直接获取此值而不是整个屏幕的xy坐标?
答案 0 :(得分:2)
获取子元素相对于其父元素position()
的偏移量:
$("#child").position().left;
$("#child").position().top;
关于这一点的警告是,父母必须不为position: static
才能使其发挥作用。如果父项是静态的,jQuery将只返回offset()
- 我假设你的代码中发生了什么。
static
是大多数块元素的默认值,因此您需要在父级中将position
设置为fixed
,absolute
或relative
你的CSS。