> 웹 프론트엔드 > JS 튜토리얼 > jquery의 offset() 메소드 example_javascript 기술의 js 구현

jquery의 offset() 메소드 example_javascript 기술의 js 구현

WBOY
풀어 주다: 2016-05-16 16:21:19
원래의
1205명이 탐색했습니다.

이 문서의 예에서는 js가 jquery의 offset() 메서드를 구현하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

jQuery의 offset()을 사용해 본 학생들은 offset().top 또는 offset().left가 전체 페이지를 기준으로 요소의 오프셋을 쉽게 얻을 수 있다는 것을 알고 있습니다.

js에는 그러한 직접적인 방법이 없습니다. 노드의 속성 offsetTop은 상위 노드를 기준으로 노드의 상대 오프셋을 얻을 수 있지만 노드를 사용하여 계층별로 위쪽으로 재귀할 수는 없습니다. 절대 오프셋을 얻으려면 offsetTop을 추가하십시오.

코드 복사 코드는 다음과 같습니다.
function getOffset(Node, offset) {
If (!오프셋) {
오프셋 = {};
Offset.top = 0;
Offset.left = 0;
}

if (Node == document.body) {//노드가 본문 노드이면 재귀를 종료합니다
         반품 오프셋;
}

offset.top = Node.offsetTop;
Offset.left = Node.offsetLeft;

return getOffset(Node.parentNode, offset); // 오프셋의 값을 위쪽으로 누적
}


사용시 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
var a = document.getElementById('a');
//getOffset(a).top
//getOffset(a).left

이 기사가 모든 사람의 JavaScript 프로그래밍 설계에 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿