레이아웃이 유동적 인 경우 (위치 : 정적/상대) 브라우저가 액세스 할 수있는 속성의 div의 계산 된 좌표 (x, y)를 저장합니까?브라우저는 접근 가능한 변수에 div의 계산 된 좌표를 저장합니까?
또한 솔루션이 Firefox에서만 작동한다면 충분합니다. JQuery는 불행히도 옵션이 아닙니다.
레이아웃이 유동적 인 경우 (위치 : 정적/상대) 브라우저가 액세스 할 수있는 속성의 div의 계산 된 좌표 (x, y)를 저장합니까?브라우저는 접근 가능한 변수에 div의 계산 된 좌표를 저장합니까?
또한 솔루션이 Firefox에서만 작동한다면 충분합니다. JQuery는 불행히도 옵션이 아닙니다.
을 :
document.getElementById('yourElement').offsetLeft
document.getElementById('yourElement').offsetTop
을하지만 당신은 아마 몇 오프셋을 추가해야 할 것 부모 요소는 position
에 적용됩니다.
실제로 그렇습니다. 안타깝게도 브라우저 불일치와 원시 DOM 액세스의 일반적인 추악 함 때문에 정보를 안정적으로 가져 오는 것은 꽤 어렵습니다. 문서의 왼쪽 상단에서 당신에게 사업부의 y
위치를 줄 것이다
$('#some_div').offset().top
:
나는 당신과 같은 코드가있을 수 있습니다 jQuery을 제안한다.
불행히도 기존 시스템을 연구 중이며 빠른 수정이 필요합니다. 시스템에는 JQuery 파일이 포함되어 있지 않습니다. 좋은 점은 파이어 폭스에서 작동하는 시스템 만 있으면된다는 것입니다. –
아니요, 그러나 mootools (아마도 jquery)를 사용하면 $(element).getLeft()
또는 $(element).getTop()
이라고 말할 수 있습니다.
또는 당신은 다음과 같이 사용할 수 있습니다 : 당신이 그런 식으로 작업을 수행 할 수 있습니다 자바 스크립트 '기본'에서
function getLeft(obj) {
return (obj.offsetParent==null ? obj.offsetLeft : obj.offsetLeft + getLeft(obj.offsetParent));
}
function getTop(obj) {
return (obj.offsetParent==null ? obj.offsetTop : obj.offsetTop + getTop(obj.offsetParent));
}
완벽하게 일했습니다. 감사합니다 :) –
그것은 모든 경우에 정확한 결과를주지 않을 부모 컨테이너에 상대적인 좌표입니다. – Rob
부모 컨테이너의 좌표를 알았습니다. 이것은 정확하게 필요한 것입니다 :) –