source

요소의 올바른 오프셋을 구하는 방법은? - jQuery

lovecheck 2023. 9. 9. 09:37
반응형

요소의 올바른 오프셋을 구하는 방법은? - jQuery

이것은 아마도 매우 간단한 질문일 것입니다. 하지만 jQuery에서 요소의 적절한 오프셋을 얻으려면 어떻게 해야 합니까?

할 수 있습니다.

$("#whatever").offset().left;

그리고 그것은 유효합니다.

그러나 다음과 같이 보입니다.

$("#whatever").offset().right 

정의되지 않았습니다.

그럼 jQuery에서는 어떻게 이것을 해낼 수 있을까요?

감사합니다!!

알렉스, 게리:

요청하신 대로 답변으로 게시된 제 의견은 다음과 같습니다.

var rt = ($(window).width() - ($whatever.offset().left + $whatever.outerWidth()));

알려주셔서 감사합니다.

다음과 같이 표현할 수 있는 의사 코드에서:

오른쪽 오프셋은 다음과 같습니다.

너비 마이너스
(요소의 왼쪽 오프셋 PLUS 요소의 바깥쪽 폭 )

var $whatever        = $('#whatever');
var ending_right     = ($(window).width() - ($whatever.offset().left + $whatever.outerWidth()));

참조: .outerWidth()

제가 질문을 잘못 이해하고 있는 것 같습니다만, 오프셋은 수평과 수직의 두 가지 변수를 제공하게 되어 있습니다.요소의 위치를 정의합니다.그래서 당신이 찾고 있는 것은:

$("#whatever").offset().left

그리고.

$("#whatever").offset().top

요소의 올바른 경계가 어디인지 알아야 하는 경우 다음을 사용해야 합니다.

$("#whatever").offset().left + $("#whatever").outerWidth()

그렉이 한 말에 덧붙인 말입니다.

$("#π").πleft + $("#π").바깥쪽 너비()

이 코드는 왼쪽에 대해 올바른 위치를 갖게 됩니다.CSS를 사용할 때와 같이 오른쪽에 상대적으로 오른쪽 위치를 잡는 것이 의도된 경우rightproperty) 그러면 다음과 같이 코드 추가가 필요합니다.

$("#parent_parent").innerWidth() - ("#무엇이든").offset(.left + ("#무엇이든").외곽폭()

이 코드는 초기 설정이 불가능할 때 오른쪽을 고정 앵커로 설정해야 하는 애니메이션에서 유용합니다.rightCSS의 속성입니다.

실제로 이는 윈도우가 왼쪽 상단 위치에서 전혀 스크롤되지 않을 때만 작동합니다.
요소의 위치를 조정하는 데 유용한 오프셋을 얻으려면 창 스크롤 값을 빼야 하므로 해당 값이 페이지에 그대로 유지됩니다.

var offset = $('#whatever').offset();

offset.right = ($(window).width() + $(window).scrollLeft()) - (offset.left + $('#whatever').outerWidth(true));
offset.bottom = ($(window).height() + $(window).scrollTop()) - (offset.top + $('#whatever').outerHeight(true));

여기서 브랜든 크로포드가 가장 좋은 답변을 했으니, 그가 답변을 할 때까지 답변으로 옮기겠습니다.

var offset = $('#whatever').offset();

offset.right = $(window).width() - (offset.left + $('#whatever').outerWidth(true));
offset.bottom = $(window).height() - (offset.top + $('#whatever').outerHeight(true));

이를 즉시 달성하는 네이티브 DOM API가 있습니다:

document.querySelector("#whatever").getBoundingClientRect().right

A의 앵커 포인트 가져오기div/table (left) = $("#whatever").offset().left;- 오케이!

A의 앵커 포인트 가져오기div/table (right)아래 코드를 사용하시면 됩니다.

 $("#whatever").width();

언급URL : https://stackoverflow.com/questions/3043102/how-to-get-right-offset-of-an-element-jquery

반응형