일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 그럼에도불구하고
- redux
- node
- webpack
- 변수
- TypeScript
- 코딩테스트
- @media
- JavaScript
- 반응형 페이지
- github
- media query
- java
- Servlet
- 자바문제풀이
- 코드업
- max-width
- react-router-dom
- CSS
- HTML
- node.js
- git
- cleancode
- 프론트엔드
- react
- frontend
- JS
- 그럼에도 불구하고
- coding
- 자바
- Today
- Total
그럼에도 불구하고
[JavaScript] IntersectionObserver API란? 본문
IntersectionObserver API에 대해 알아보겠습니다.
🧑🏻💻 IntersectionObserver API
IntersectionObserver는 웹 API 중 하나로, 요소의 가시성 여부를 비동기적으로 감지하는 기능을 제공합니다. 이를 통해 무한 스크롤, 화면 리사이징, 이미지 로딩 지연, 트래킹 및 애니메이션 효과 등에서 유용하게 활용됩니다
Intersection Observer의 주요 개념과 사용법을 설명해 드리겠습니다.
📌 사용법
1. InterSection Observer 생성
const observer = new IntersectionObserver(callback, options);
Intersection Observer를 생성하려면 콜백 함수(callback)와 옵션(options)을 전달해야 합니다. 콜백 함수는 가시성 변경 시 실행되는 로직을 정의하며, 옵션은 관찰 동작을 설정하는 데 사용합니다.
2. InterSection Observer callback function
const callback = (entries, observer) => {
entries.forEach((entry) => {
// entry의 가시성 상태를 확인하고 로직을 수행
if (entry.isIntersecting) {
// 요소가 화면에 진입한 경우
} else {
// 요소가 화면에서 벗어난 경우
}
});
};
콜백 함수는 두 개의 파라미터인 'entries'와 'observer'를 받습니다. 'entries'는 관찰 대상의 요소의 배열입니다. 각 'entry'는 하나의 관찰 대상 요소와 관련된 정보를 포함하며, 'isIntersectiong" 속성을 통해 가시성 여부를 확인할 수 있습니다.
3. InterSection Observer 옵션
const options = {
root: document.querySelector("#root"), // 관찰자의 뷰포트를 기준으로 요소의 가시성을 판단
rootMargin: "0px", // 관찰자의 뷰포트를 확장하거나 축소하여 가시성을 변경
threshold: 0.5, // 관찰 대상 요소와 뷰포트의 교차 영역이 어느 정도 보여야 가시성으로 간주할지 설정 (0.0 ~ 1.0)
};
옵션은 Intersection Observer의 동작을 설정하는 데 사용됩니다. 'root'는 관찰자의 뷰포트 요소를 지정하며, 기본값은 브라우저의 뷰포트입니다. 'rootMargin'은 관찰자의 뷰포트를 확장하거나 축소하여 교차 영역을 보정할 수 있습니다. 'threshold'는 교차 영역이 어느 정도 보여야 가시성으로 간주할지 설정합니다.
4. InterSection Observer 관찰 시작
observer.observe(target);
'observe' 메서드를 사용하여 관찰 대상 요소를 등록합니다. 'target'은 관찰할 요소를 의미하며, 'querySelector'나 변수 등을 통해 선택할 수 있습니다.
5. InterSection Observer 관찰 종료
observer.unobserve(target);
'unobserve' 메서드를 사용하여 관찰 대상 요소의 관찰을 종료합니다. 이는 필요에 따라 관찰을 중지할 때 사용됩니다.
🧑🏻💻 예시
See the Pen Untitled by hyun zeng (@hyun-zeng) on CodePen.
'JavaScript > JavaScript basics' 카테고리의 다른 글
[JavaScript] Fetch와 Axios의 차이점 비교 (0) | 2023.09.05 |
---|---|
[JavaScript] NodeList란? (0) | 2023.06.07 |
[JavaScript] Puppeteer란? (0) | 2023.04.20 |
[JavaScript] Jest란? (0) | 2023.04.20 |
[JavaScript] 폴리필(Polyfill)과 바벨(Babel)이란? (0) | 2023.04.12 |