Chapter 09. 애니메이션 효과 다루기. 


Lesson 03. 사용자 정의 애니메이션 효과


02. 핵심 내용

핵심 01: 사용자 정의 애니메이션 효과 만들기

핵심 02: 애니메이션 효과 멈추기


핵심 01. 사용자 정의 애니메이션 효과 만들기

사용법 :

$대상.animate(properties, options)

$대상.animate(properties [duration] [easing] [complete])


* 매개변수

properties 

애니메이션을 적용할 CSS 스타일 프로퍼티와 값이 담길 객체입니다.


duration

효과가 지속될 시간 값(duration)입니다.

단위는 밀리초이며 기본값은 400ms입니다. 문자열 (slow, nomal, fast)도 사용합니다


easing

사용할 이징(easing) 함수 이름입니다. 이징 함수는 움직임을 구현한 함수입니다


complete

효과가 완료됐을 때 호출할 콜백 함수입니다.


options

duration, easing, complete 매개변수를 하나의 객체로 묶어 간결하게 매개변수를 전달할 수 있습니다.

또한 기본적인 매개변수 값 이외에 좀더 다양한 값을 설정할 때 사용합니다.


예제 01. animate()를 활용해 페이드 인/아웃 효과 만들기

풀이 전 코드는 앞에서 다룬 페이드 인/아웃 예제입니다. fadeIn()/fadeOut() 메서드 부분을 animate() 메서드를 이용해 페이드 인/아웃 효과를 만들어 주세요

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<script>
$(document).ready(function() 
{
    //  움직일 대상 찾기.
    var $img1 = $("#target");
 
    // 사라지는 효과 
    $("#hide").on("click"function()
    {
        $img1.fadeOut(6000"easeOutQuint"function()
        {
            alert("fadeOut 완료");
        });
    });
 
    // 나타나는 효과
    $("#show").on("click"function()
    {
        $img1.fadeIn(6000"easeInQuint"function()
        {
            alert("fadeIn 완료");
        });
    });
});
</script>
cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<script>
$(document).ready(function() 
{
 
    //  움직일 대상 찾기.
    var $img1 = $("#target");
    
    // 사라지는 효과 
    $("#hide").on("click"function() 
    {
        console.log($img1);
        $img1.animate(
        {
        opacity : 0 // fadeOut
        }, 6000"easeOutQuint"
        function() 
        {
            alert("fadeOut 완료");
        });
    });
    
    // 나타나는 효과 
    $("#show").on("click"function() 
    {
        $img1.animate(
        {
        opacity : 1 // fadeIn
        }, 6000"easeInQuint"
        function() 
        {
            alert("fadeIn 완료");
        });
    });
});
</script>
cs

예제 02 animate()를 활용해 사용자 정의 효과 만들기
hide 버튼을 누르면 타깃(#target)을 화면에서 보이지 않게 만들어주세요.
단, 애니메이션 시간은 6초, 사라지는 최종 위치는 left와 top이 각각 500,200입니다.
이징 함수는 easeOutQuint를 사용해주세요.
추가로 애니메이션이 완료되면 "애니메이션 종료" 메세지를 출력해 주세요.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script>
$(document).ready(function()
{
    //  움직일 대상 찾기.
    var $img1 = $("#target");
 
    // 나타나는 효과 시작.
    $("#hide").on("click"function()
    {
        $img1.animate(
        {
            opacity:0, // fadeOut
            left:500,
            top:200
        },6000,"easeOutQuint",
        function()
        {
            alert("애니메이션 종료");
        });
    });
});
</script>
cs

핵심 02. 애니메이션 효과 멈추기
사용법 : $대상.stop()

예제 03. 다음은 방금 앞에서 다룬 핵심 01 예제에 stop 버튼을 추가한 예제입니다.
stop 버튼을 누르면 동작 중인 애니메이션 효과가 멈추도록 만들어 주세요




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<script>
$(document).ready(function() 
{
    //  움직일 대상 찾기.
    var $img1 = $("#target");
 
    // 사라지는 효과 시작.
    $("#hide").on("click"function() 
    {
        $img1.animate(
        {
            opacity : 0, // fadeOut
            left : 500,
            top : 200
        }, 6000"easeOutQuint"
        function() 
        {
            alert("애니메이션 종료");
        });
    });
 
    $("#stop").on("click"function() 
    {
        $img1.stop();
    });
});
</script>
cs







Posted by 너래쟁이
: