CSS3 애니메이션을 웹 페이지에 통합할 때 애니메이션이 조기에 트리거되거나 페이지에 표시되지 않을 때 사용자는 문제에 직면할 수 있습니다. 뷰포트. 이 문제를 해결하기 위해 IntersectionObserver API는 요소가 사용자의 뷰포트에 들어갈 때만 애니메이션이 표시되도록 하는 솔루션을 제공합니다.
IntersectionObserver API를 사용하면 개발자는 교차로의 변경 사항을 관찰할 수 있습니다. 상위 요소 또는 문서 뷰포트가 있는 대상 요소. 이 API는 대상 요소가 표시되거나 표시되지 않을 때 호출되는 콜백 함수를 제공합니다.
이 기능을 구현하려면:
const inViewport = (entries, observer) => { entries.forEach(entry => { entry.target.classList.toggle("is-inViewport", entry.isIntersecting); }); }; const observer = new IntersectionObserver(inViewport);
document.querySelectorAll('[data-inviewport]').forEach(el => { observer.observe(el, obsOptions); });
[data-inviewport="fade-in"] { transition: 2s; opacity: 0; } [data-inviewport="fade-in"].is-inViewport { opacity: 1; }
다음을 따르세요. 단계를 거치면 뷰포트의 요소 가시성에 따라 애니메이션이 동적으로 트리거되어 페이지 스크롤 중에 더욱 직관적이고 매력적인 사용자 경험을 제공할 수 있습니다.
위 내용은 IntersectionObserver는 페이지 스크롤 시 CSS3 애니메이션을 어떻게 향상시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!