>웹 프론트엔드 >JS 튜토리얼 >순수 JavaScript로 크로스 브라우저 \'맨 위로 스크롤\' 애니메이션을 만드는 방법은 무엇입니까?

순수 JavaScript로 크로스 브라우저 \'맨 위로 스크롤\' 애니메이션을 만드는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-02 08:14:02966검색

How to Create a Cross-Browser

일반 JavaScript의 크로스 브라우저 "맨 위로 스크롤" 애니메이션

소개:

원활한 "맨 위로 스크롤" 애니메이션을 제공하여 사용자 접근성을 향상시키는 것은 현대 웹 개발에 필수적입니다. jQuery와 같은 JavaScript 라이브러리는 편리한 솔루션을 제공하지만 이 기능을 JavaScript로만 구현하는 것은 경량 및 브라우저 간 호환성에 도움이 될 수 있습니다.

해결책:

제공되는 JavaScript 함수 , scrollTo를 사용하면 모든 페이지 요소에 대해 부드러운 스크롤 애니메이션을 구현할 수 있습니다. 세 가지 매개변수가 필요합니다:

  • element: 스크롤하려는 HTML 요소(일반적으로 전체 페이지의 경우 document.body).
  • : 원하는 스크롤 위치(픽셀 단위).
  • duration: 밀리초 단위의 애니메이션 지속 시간(부드러운 애니메이션을 위해 600ms로 설정).

함수 분석:

  • if (duration <= 0) return: 애니메이션 지속 시간이 0보다 작거나 같으면 함수를 종료합니다.
  • var Difference = to - element.scrollTop: 대상 스크롤 위치와 현재 위치의 차이를 계산합니다.
  • var perTick = 차이 / 기간 * 10: 각 간격으로 스크롤할 양을 결정합니다.
  • setTimeout(...): 일정한 간격(10ms)으로 애니메이션 루프를 실행하는 시간 제한을 설정합니다.
  • element.scrollTop = element.scrollTop perTick: 계산된 perTick 값으로 스크롤 위치를 업데이트합니다.
  • 스크롤 위치가 아직 대상과 같지 않으면 함수가 자체를 호출합니다. 목표에 도달할 때까지 지속 시간을 줄여 반복적으로 실행합니다.

사용법:

scrollTo 기능을 HTML에 통합하세요.

<code class="html"><button id="scrollme" type="button">Go to Top</button><p>클릭 이벤트 핸들러를 버튼에 연결하세요:</p>
<pre class="brush:php;toolbar:false"><code class="javascript">var scrollme = document.querySelector("#scrollme");
scrollme.addEventListener("click",runScroll,false);

function runScroll() {
  scrollTo(document.body, 0, 600);
}</code>

결론:

이 스니펫은 크로스 이벤트를 생성하는 다양한 도구를 제공합니다. 기본 JavaScript를 사용하는 브라우저 스크롤 애니메이션. 단순성과 유연성 덕분에 다양한 웹 애플리케이션에 적합합니다.

위 내용은 순수 JavaScript로 크로스 브라우저 \'맨 위로 스크롤\' 애니메이션을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.