2012-06-29 3 views
2

일반적으로 내에서 요소 창 위치를 취득하는 것은 내가 사용하는 모든 요소의 창 위치 얻을 : 요소가 부동 사업부 내에있을 때부동 사업부

while(el) { 
    x += el.offsetLeft; 
    y += el.offsetTop; 
    el = el.offsetParent; 
} 

는 그러나, 나는이 문제로 실행하고 있습니다.

<div id="wrapper"> 
    <div id="floatLeft" style="float: left; width: 20%;"></div> 
    <div id="floatRight" style="float: right; width: 80%;"> 
     <div>I want to find the window pos of this</div> 
    </div> 
</div> 

위의 상황에서 요소가 부동 div 안에 중첩되어 있으면 오른쪽 div의 가장자리에서만 오프셋을 반환합니다. 물론 이것은 단순한 예입니다. 실제 상황에서 올바른 div는 여러 개의 중첩 요소 등을 가질 것입니다. 적은 수는 아니지만 부동 요소를 고려하기 위해 사용하는 javascript를 수정하려면 어떻게해야합니까?

편집 : 실제로 문제는 부동 요소의 오프셋과 관련이없는 절대적인 요소를 배치하는 방식입니다. 이 질문은 null입니다.

답변

0

에 한번 사용 jQuery를 :

while(el) { 
    x += $(el).offset().left; 
    y += $(el).offset().top; 
}