[번역] Apple 웹사이트 애니메이션 분석(크롤링 동기화)
기사 원문 링크
Apple 공식 웹사이트는 콘텐츠를 강조하기 위해 부드러운 스크롤 기반 애니메이션을 사용합니다. 이번 게시물에서는 구현을 이해하기 위해 유사한 애니메이션을 분석하고 복제해 보겠습니다.
? 원래 Apple 웹사이트(비디오)
? 재현된 구현
1. 스크롤 동기화
- 애니메이션 상태는 스크롤 위치(scrollY)를 기준으로 실시간으로 계산됩니다.
2. 양방향 애니메이션
- 아래로 스크롤할 때: 텍스트는 위로 이동하고 페이드 아웃되며, 동영상은 축소됩니다.
- 위로 스크롤할 때: 텍스트가 아래로 이동했다가 다시 나타나고, 동영상은 확대됩니다.
3. CSS 속성 활용
- 변환을 사용하세요:translateY 및 스크롤 위치에 비례하여 값 조정
- requestAnimationFrame을 사용하면 부드러운 애니메이션이 보장됩니다.
? HTML 구조
HTML 구조는 텍스트와 배경 영상이 포함된 간단한 레이아웃으로 구성됩니다.
? 재현된 구현
스크롤 위치에 따라 부드러운 애니메이션이 가능하도록 CSS를 설정하세요.
/* Text Section */ .text-section { position: absolute; top: 20%; width: 100%; text-align: center; color: white; z-index: 2; } .video-section { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; display: flex; justify-content: center; align-items: center; overflow: hidden; } .background-video { width: 100vw; height: auto; }
? JavaScript(스크롤 기반 애니메이션)
스크롤 위치를 기준으로 텍스트와 동영상의 상태를 계산하고 스타일을 실시간으로 업데이트합니다.
const textSection = document.querySelector(".text-section"); const videoSection = document.querySelector(".video-section"); function handleScroll() { const scrollY = window.scrollY; const windowHeight = window.innerHeight; const textOpacity = Math.max(0, 1 - scrollY / (windowHeight / 2)); const textTranslateY = Math.min(scrollY / 2, 100); textSection.style.transform = `translateY(-${textTranslateY}px)`; textSection.style.opacity = textOpacity; const videoScale = Math.max(0.5, 1 - scrollY / (windowHeight * 2)); videoSection.style.transform = `scale(${videoScale})`; } window.addEventListener("scroll", () => { requestAnimationFrame(handleScroll); });
?️ 주요 작동 내역
?️ 주요 기능 설명
- 스크롤 기반 계산
textOpacity: 스크롤 위치에 따라 텍스트의 불투명도가 점차 희미해지도록 조정합니다.
textTranslateY: 스크롤 진행에 비례하여 텍스트가 위로 이동하는 정도를 계산합니다.
videoScale: 스크롤 위치에 비례하여 축소되도록 비디오 크기를 조정합니다.
- 요청애니메이션 프레임
- 부드러운 작동을 위해 브라우저의 최적화된 렌더링 루프를 활용하여 애니메이션 성능을 향상시키는 비동기 기능입니다.
- 양방향 애니메이션
아래로 스크롤: 텍스트는 위로 이동하고 페이드 아웃되며, 동영상은 축소됩니다.
위로 스크롤: 텍스트는 아래로 이동했다가 다시 나타나고, 동영상은 확대됩니다.
위 내용은 [번역] Apple 웹사이트 애니메이션 분석(크롤링 동기화)의 상세 내용입니다. 자세한 내용은 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와 짝을 이루는 경우 기분이 좋습니다.

이번 주에 플랫폼 뉴스 라운드 업 RONDUP, Chrome은로드에 대한 새로운 속성, 웹 개발자를위한 접근성 사양 및 BBC Move를 소개합니다.

이것은 처음으로 HTML 요소를보고 있습니다. 나는 그것을 잠시 동안 알고 있었지만 아직 스핀을 위해 그것을 가져 갔다. 그것은 꽤 시원하고 있습니다

Goofonts는 개발자 부인과 디자이너 남편이 서명 한 사이드 프로젝트로, 둘 다 타이포그래피의 큰 팬입니다. 우리는 Google에 태그를 지정했습니다

이 두 부분으로 구성된 시리즈의 첫 번째 부분은 우리가 2 턴 슬라이더를 얻는 방법을 자세히 설명했습니다. 이제 우리는 일반적인 멀티 덤프 케이스를 살펴 보지만 다른 것과

한동안 iTunes는 팟 캐스팅에서 큰 개 였으므로 "Podcast 구독"을 링크 한 경우 다음과 같습니다.
