애니메이션 효과 만드는 방법 - .animate()

animate는 애니메이션 효과를 만듭니다. 애니메이션 효과를 줄 속성을 정합니다.
3 min read

.animate

.animate()는 애니메이션 효과를 만듭니다.

 

기본형

.animate( properties [, duration ] [, easing ] [, complete ] )

 

properties

애니메이션 효과를 줄 속성을 정합니다. 가능한 속성은 다음과 같습니다.

  • backgroundPositionX
  • backgroundPositionY
  • borderBottomWidth
  • borderLeftWidth
  • borderRightWidth
  • borderSpacing
  • borderTopWidth
  • borderWidth
  • bottom
  • fontSize
  • height
  • left
  • letterSpacing
  • lineHeight
  • margin
  • marginBottom
  • marginLeft
  • marginRight
  • marginTop
  • maxHeight
  • maxWidth
  • minHeight
  • minWidth
  • opacity
  • outlineWidth
  • padding
  • paddingBottom
  • paddingLeft
  • paddingRight
  • paddingTop
  • right
  • textIndent
  • top
  • width
  • wordSpacing

 

duration

  • 애니메이션 효과를 완료할 때까지 걸리는 시간입니다.
  • 단위는 1/1000초, 기본값은 400입니다.
  • fast나 slow로 정할 수 있습니다.
  • fast는 200, slow는 600에 해당합니다.

 

easing

  • 애니메이션 효과의 방식을 정합니다.
  • swing과 linear이 가능하며, 기본값은 swing입니다.

 

complete

  • 요소가 사라진 후 수행할 작업을 정합니다.

 

예제 1

버튼을 클릭하면 파란색 div 요소의 가로 크기가 변합니다.

<p><button>Click</button></p>
<div id="a"></div>
#a {
  width: 10%;
  height: 100px;
  background-color: #bbdefb;
}
$( document ).ready( function() {
  $( 'button' ).click( function() {
    $( '#a' ).animate( {
      width: '100%'
    });
  });
});

 

예제 2

swing과 linear를 비교한 예제입니다. linear는 일정한 속도로 진행합니다.

<p><button>Click</button></p>
<div id="a"></div>
<div id="b"></div>
div {
  margin: 10px 0px;
  width: 10%;
  height: 100px;
  background-color: #e3f2fd;
}
#a {
  background-color: #bbdefb;
}
#b {
  background-color: #ffcdd2;
}
$( document ).ready( function() {
  $( 'button' ).click( function() {
    $( '#a' ).animate( {
      width: '100%'
    }, 2000, 'swing' );
    $( '#b' ).animate( {
      width: '100%'
    }, 2000, 'linear' );
  });
});

 

예제 3

div 요소가 커지는 애니메이션을 마친 후, 사라지는 애니메이션을 실행합니다.

<p><button>Click!</button></p>
<div id="a"></div>
#a {
  width: 10%;
  height: 100px;
  background-color: #bbdefb;
}
$( document ).ready( function() {
  $( 'button' ).click( function() {
    $( '#a' ).animate( {
      width: '100%'
    }, 1000, function() {
      $( this ).animate( {
        width: '0%'
      }, 1000 );
    });
  });
});

You may like these posts

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

Post a Comment