[JavaScript] IntersectionObserver API 활용 이벤트 처리

2023. 7. 17. 19:02·Tip
728x90
출처:아직도 이 API 모르셨다고요? 개발자 인생 꿀템 소개!  (https://www.youtube.com/watch?v=iZhq7I42uaI)

각 요소의 화면 표시 여부에 따른 동적 애니메이션

 

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>

  <style>
    div {
      height: 200px;
      width: 200px;
      border-radius: 10%;
      background-color: bisque;
      border: 2.5px solid tomato;
      transition: all 0.5s ease-in-out;
      transform: scale(1.5);
      opacity: 0;
      margin: 10px auto 10px auto;
    }

    .visible {
      transform: scale(1);
      opacity: 1;
    }
  </style>

</head>

<body>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
</body>

<script>
  document.body.onload = function () {
    const squares = document.querySelectorAll("div")
    const observer = new IntersectionObserver(
      squares =>
        squares.forEach(square => {
          if (square.isIntersecting) square.target.classList.add("visible")
          else square.target.classList.remove("visible")
        }),
      { threshold: 0.3 }
    )
    squares.forEach((square) => observer.observe(square))
  }

</script>
</html>
728x90
저작자표시 비영리 동일조건 (새창열림)

'Tip' 카테고리의 다른 글

이력서 작성 요령  (2) 2024.01.08
[Python] BOJ 1874번: 스택 수열  (0) 2023.07.21
[Python/pandas/scikit-learn] 빅데이터 분석기사 실기 유형2 풀이 샘플  (0) 2023.07.17
[Python] BOJ 10815번: 숫자 카드  (0) 2023.07.16
[JavaScript] LocalStorage Basic  (0) 2023.07.13
'Tip' 카테고리의 다른 글
  • 이력서 작성 요령
  • [Python] BOJ 1874번: 스택 수열
  • [Python/pandas/scikit-learn] 빅데이터 분석기사 실기 유형2 풀이 샘플
  • [Python] BOJ 10815번: 숫자 카드
ooMia
ooMia
  • ooMia
    데이터 과학자의 꿈
    ooMia
  • 전체
    오늘
    어제
    • 분류 전체보기 (116)
      • Insight (24)
        • 서평 (20)
      • Learn (43)
        • UPSIDE (22)
        • ASAC (4)
        • 우테코 (4)
      • Tip (24)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Velog.io
    • GitHub
    • Linked-in
    • Instagram
    • Solved.ac
  • 공지사항

  • 인기 글

  • 태그

    SQL 데이터 분석 첫걸음
    K디지털기초역량훈련
    업사이드 아카데미
    업사이드
    내일배움카드
    가이드
    매우 쉬움
    우테코
    국비지원교육
    티스토리챌린지
    패스트캠퍼스
    한빛미디어
    오블완
    web3
    나도 할 수 있는 Java&Spring 웹 개발 종합반
    DAPP
    쉬움
    for 반복문
    C언어
    한빛미디어서평단
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
ooMia
[JavaScript] IntersectionObserver API 활용 이벤트 처리
상단으로

티스토리툴바