2011-12-09 110 views
1

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

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坐标得到这个值的方法?

回答

2

来获取子元素相对于偏移到它的父用position()

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

需要说明的这个是说父母必须position: static这个工作。如果父类是静态的,那么jQuery将返回offset()--我假设你的代码中发生了什么。

static是大多数块元素的默认,所以你需要设置positionfixedabsoluterelative在你的CSS父。

+0

- 谢谢,作品! –