๐โโ๏ธ๋ฌดํ ์คํฌ๋กค ๊ด๋ จํด์ ์ฐพ์๋ณด๋ค๊ฐ intersection observer๋ผ๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค..!
๋จผ์ ์ ๋ฆฌ๋ถํฐ ํ์๋ฉด intersection observer๋ ํ๊ฒ ์๋ฆฌ๋จผํธ์ ํ๊ฒ์ ๋ถ๋ชจ ํน์ ์์ ์๋ฆฌ๋จผํธ์ ๋ทฐํฌํธ(viewport)๊ฐ ๊ต์ฐจ๋๋ ๋ถ๋ถ์ ๋น๋๊ธฐ์ ์ผ๋ก ๊ด์ฐฐํ๋ API์ ๋๋ค.
ํ๋ง๋๋ก ํ๋ฉด์ ๋ด๊ฐ ์ง์ ํ ์๋ฆฌ๋จผํธ๊ฐ ๋ณด์ฌ์ง๊ณ ์๋์ง๋ฅผ ๊ด์ฐฐํ๋ API ๋ผ๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค.
์ด์ intersection observer์ ๋ํด ์์์ผ๋ฉด ์ฐ๋ ์ด์ ์ ๋ํด๋ ์์๋ด ์๋ค.
์คํฌ๋กค ์ด๋ฒคํธ๋ ํ์ฌ์ ๋์ด ๊ฐ์ ์๊ธฐ ์ํด offsetTop์ ์ฌ์ฉํ๋๋ฐ ์ ํํ ๊ฐ์ ๊ฐ์ ธ์ค๊ธฐ ์ํด ๋งค๋ฒ ๋ ๋ ํธ๋ฆฌ๋ฅผ ๋ค์ ๊ทธ๋ฆฝ๋๋ค. ์ด๊ฒ์ reflow๋ผ๊ณ ํ๋๋ฐ, ์ด ๊ณผ์ ์ด ๋ฐ๋ณต๋๋ฉด ๋ธ๋ผ์ฐ์ ์ ์ฑ๋ฅ์ด ์ ํ๋๊ณ , ํ๋ฉด์ ๋ฒ๋ฒ ๊ฑฐ๋ฆผ์ด ์๊ธธ ์ ๋ฐ์ ์์ต๋๋ค.
intersection observer๋ IE๋ฅผ ์ ์ธํ ๋๋ถ๋ถ์ ๋ธ๋ผ์ฐ์ ์์ ์ง์๋๋ค๊ณ ํฉ๋๋ค.
์ฌ๋ฌ๊ฐ์ง ์๋ฆฌ๋จผํธ ์ต์ ๋ฒ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ง๋ง, reflow๋ฅผ ํ์ง ์๋๋ค๋ ์ ์์ intersection observer๋ฅผ ์ฐ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ ๋ intersection observer๋ฅผ ์ ์ฉํ๋๋ก ํ๊ฒ ์ต๋๋ค!
Intersection Observer - ์์์ ๊ฐ์์ฑ ๊ด์ฐฐ
Intersection Observer ๊ฐ๋จ ์ ๋ฆฌํ๊ธฐ