페이지 스크롤 중에 요소가 뷰포트에 들어갈 때 CSS 애니메이션을 트리거하는 방법은 무엇입니까?
페이지 스크롤 중 뷰포트에 표시되는 요소 애니메이션
웹 페이지에서 CSS 애니메이션을 사용할 때 모든 애니메이션이 동시에 재생되어 애니메이션이 눈에 띄지 않는 상황에 직면하는 것이 일반적입니다. 바닥. 이 문제를 해결하기 위해 IntersectionObserver API를 사용하는 솔루션을 살펴보겠습니다.
IntersectionObserver API
IntersectionObserver API를 사용하면 개발자는 요소 교차점의 변경 사항을 모니터링할 수 있습니다. 상위 컨테이너 또는 뷰포트입니다. 요소가 표시되면 작업을 시작하는 데 사용할 수 있는 이벤트를 트리거합니다.
구현 예
다음은 다음과 같은 경우 CSS 클래스 토글을 트리거하는 예입니다. 요소가 뷰포트에 표시됩니다:
<br>const inViewport = (항목, 관찰자) => {<br> items.forEach(entry => {</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">entry.target.classList.toggle("is-inViewport", entry.isIntersecting);
});
};
const Obs = new IntersectionObserver(inViewport);
const obsOptions = {}; //참조: https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#Intersection_observer_options
// 모든 [data-inviewport] 요소에 관찰자를 연결합니다:
문서 .querySelectorAll('[data-inviewport]').forEach(el => {
Obs.observe(el, obsOptions);
});
위의 예에서는 [data-inviewport] 속성이 있는 모든 요소가 모니터링됩니다. 요소가 뷰에 있으면 is-inViewport 클래스가 추가되고 아래 CSS에 정의된 애니메이션이 실행됩니다.
[data-inviewport="scale-in"] {
전환: 2초;
변환: scale(0.1);
}
[data-inviewport="scale-in"].is-inViewport {
변환: scale(1);
}[data -inviewport="fade-rotate"] {
전환: 2초;
불투명도: 0;
}
[data-inviewport="fade-rotate"].is-inViewport {
변환: 회전(180deg);
불투명도: 1;
}
< ;/pre>이 솔루션은 스크롤하는 동안 요소가 표시될 때만 애니메이션이 재생되도록 보장하여 사용자 경험을 향상하고 시각적으로 더욱 매력적인 웹페이지를 만듭니다.
위 내용은 페이지 스크롤 중에 요소가 뷰포트에 들어갈 때 CSS 애니메이션을 트리거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

프로젝트에 카운트 다운 타이머가 필요한 적이 있습니까? 그런 것은 플러그인에 도달하는 것이 당연하지만 실제로는 훨씬 더 많습니다.

새로운 프로젝트가 시작될 때, Sass 컴파일은 눈을 깜박이게합니다. 특히 BrowserSync와 짝을 이루는 경우 기분이 좋습니다.

Lea Verou의 기능 목록을 주시 한 한 가지는 Conic-Gradient () Polyfill이 마지막 항목이었습니다.

Inline-Template 지시문을 사용하면 기존 WordPress 마크 업에 대한 진보적 인 향상으로 풍부한 VUE 구성 요소를 구축 할 수 있습니다.

새 프로젝트를 시작할 때마다 원하는 경우 세 가지 유형 또는 카테고리로보고있는 코드를 구성합니다. 그리고 나는 이러한 유형을 적용 할 수 있다고 생각합니다

PHP 템플릿은 종종 서브 파 코드를 용이하게하는 데 나쁜 랩을 얻지 만, 그렇지 않아야합니다. PHP 프로젝트가 기본을 시행 할 수있는 방법을 살펴 보겠습니다.
