06_Scroll Animation
๐ป์ฃผ์ : ํ๋ฉด์ ์คํฌ๋กค์ ๋ด๋ฆฌ๋ ๋ฐฉํฅ์ ๋ฐ๋ผ content๋ฐ์ค๊ฐ ์๊ธฐ๊ฑฐ๋ ์ ๊ฑฐ๋จ.
- scroll ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ checkBoxes ํจ์๋ฅผ ์คํํจ.
- Element.getBoundingClientRect() ๋ฉ์๋ ์ฌ์ฉ
- https://developer.mozilla.org/ko/docs/Web/API/Element/getBoundingClientRect
const boxes = document.querySelectorAll('.box');
window.addEventListener('scroll', checkBoxes);
checkBoxes();
function checkBoxes() {
const triggerBottom = window.innerHeight / 5 * 4;
boxes.forEach(box => {
const boxTop = box.getBoundingClientRect().top;
if(boxTop < triggerBottom) {
box.classList.add('show');
} else {
box.classList.remove('show');
}
})
}
๐๐ป ์คํฌ๋กค ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋๋ง๋ค ํ๋ฉด์ ํน์ ๋น์จ(4/5) ์ด์ ๋ณด์ฌ์ง๋ ์์์ 'show' ํด๋์ค๋ฅผ ์ถ๊ฐํ๊ณ , ์ฌ๋ผ์ง๋ ์์์์๋ 'show' ํด๋์ค๋ฅผ ์ ๊ฑฐํ๋ ํจ๊ณผ๋ฅผ ์ ๊ณตํ๋ค.