맨 위로 부드럽게 스크롤 이동하는 방법

페이지의 밑으로 내려가면 웹브라우저 아래 중간에 Top이라는 링크가 생기고, 그 링크를 클릭하면 맨 위로 천천히 올라갑니다. 예제 스크립트의 의미는 다음과 같습니다.
2 min read

scrollTop() 맨 위로 스크롤 이동하는 방법

jQuery의 scrollTop()을 이용하면 맨 위로 부드럽게 올라가는 효과를 쉽게 만들 수 있습니다.

밑으로 내려가면 웹브라우저 아래 중간에 Top이라는 링크가 생기고,그 링크를 클릭하면 맨 위로 천천히 올라갑니다.

 

<div class="Content">
  <a href="#" class="top">Top</a>
</div>
div {
  width: 80%;
  margin: 0 auto;
  padding: 80px 15px;
}
a.top {
  position: fixed;
  left: 50%;
  bottom: 50px;
  font-size: 32px;
  display: none;
}
$( document ).ready( function() {
  $( window ).scroll( function() {
    if ( $( this ).scrollTop() > 200 ) {
      $( '.top' ).fadeIn();
    } else {
      $( '.top' ).fadeOut();
    }
  });
  $( '.top' ).click( function() {
    $( 'html, body' ).animate( { scrollTop : 0 }, 1000 );
    return false;
  });
});

 

스크립트의 의미

<a href="#" class="top">Top</a>
  • HTML에 링크 요소를 만듭니다.
a.top {
  position: fixed;
  left: 50%;
  bottom: 50px;
  display: none;
}
  • 스크롤해도 위치가 변하지 않도록 만들고, 적당히 위치를 잡은 후 보이지 않게 합니다.
$( window ).scroll( function() {
  if ( $( this ).scrollTop() > 200 ) {
    $( '.top' ).fadeIn();
  } else {
    $( '.top' ).fadeOut();
  }
});
  • 어느 정도 스크롤하여 밑으로 내려갔을 때 링크가 보이게 합니다.
$( '.top' ).click( function() {
  $( 'html, body' ).animate( { scrollTop : 0 }, 1000 );
  return false;
});
  • 클릭했을 때 부드럽게 올라가도록 애니메이션 효과를 줍니다.

You may like these posts

  • .delay() .delay()는 실행 중인 함수를 정해진 시간만큼 중지(연기) 시킵니다.   기본형 .delay( duration [, queueName ] ) duration에는 중지할 시간이 들어갑니다. 숫자로 정할 때의 단위는 1/1000초이고, slow 또는 fast…
  • .each() .each()는 선택한 요소가 여러 개일 때 각각에 대하여 반복하여 함수를 실행시킵니다.   기본형 .each( function ) 특정 조건을 만족할 때 반복 작업에서 빠져려면 return false 를 사용합니다.   예제 1 p 요소에 각…
  • .fadeOut() .fadeOut()은 선택한 요소를 서서히 사라지게 합니다.   기본형 .fadeOut( [ duration ] [, easing ] [, complete ] )   duration duration에는 완전히 사라질 때까지의 시간이 들어갑니다. fast,…
  • .empty() .empty()는 선택한 요소의 내용을 지웁니다. 내용만 지울 뿐 태그는 남아있다는 것에 주의합니다. 태그를 포함한 요소 전체를 제거할 때는 .remove()를 사용합니다.   기본형 .empty() 예를 들어 <h1>Lorem</h1> 일 …
  • .fadeIn() .fadeIn()은 선택한 요소를 서서히 나타나게 합니다.   기본형 .fadeIn( [ duration ] [, easing ] [, complete ] )   duration duration에는 완전히 나타날 때까지의 시간이 들어갑니다. fast, sl…
  • .detach() .detach()는 선택한 요소를 문서에서 제거합니다. 제거한다는 면에서는 .remove()와 같으나 .detach()는 제거한 요소를 저장하여 다시 사용할 수 있습니다.   기본형 .detach( [ selector ] ) 예를 들어 var abc = $( 'h1…

Post a Comment