..

Search

27) 이펙트 효과의 제어

이펙트 효과의 제어


이펙트 효과의 제어

제이쿼리에서는 다음 메소드를 사용하여 사용자가 직접 이펙트 효과를 제어할 수 있습니다.

 

1. .delay()

2. .stop()

3. .finish()


이펙트 효과의 지연 설정

.delay() 메소드는 실행 중인 큐 안에서 연속적으로 실행되는 이펙트 효과 사이의 지연 시간을 설정합니다.

 

다음 예제는 페이드 아웃 효과와 페이드 인 효과 사이에 1초의 지연시간을 설정하는 예제입니다.

예제

$(function() {

    $("#startBtn").on("click", function() {

        // id가 "divBox"인 요소를 0.5초에 걸쳐 사라지게 하고

        // 1초의 지연시간 뒤에 다시 2초에 걸쳐 나타나게 함.

        $("#divBox").fadeOut(500).delay(1000).fadeIn(2000);

    });

});

코딩연습 ▶


이펙트 효과의 중지

제이쿼리에서는 .stop() 메소드와 .finish() 메소드를 사용하여 실행 중인 이펙트 효과를 중지시킬 수 있습니다.

 

.stop() 메소드는 선택한 요소에서 실행 중인 모든 이펙트 효과를 즉시 중지시킵니다.

.finish() 메소드는 거기에 더해서 선택한 요소가 포함된 큐까지 제거하여 모든 이펙트 효과를 전부 종료시킵니다.

 

예제

$(function() {

    $("#toggleBtn").on("click", function() {

        // id가 "divBox"인 요소를 2초에 걸쳐 올라가면서 사라지거나 내려오면서 나타나게 함.

        $("#divBox").slideToggle(2000);

    });

    $("#stopBtn").on("click", function() {

        // id가 "divBox"인 요소에서 실행 중인 모든 이펙트 효과를 즉시 중지시킴.

        $("#divBox").stop();

    });

    $("#finishBtn").on("click", function() {

        // id가 "divBox"인 요소에서 실행 중인 모든 이펙트 효과를 즉시 중지시키고, 그 큐까지 모두 제거함.

        $("#divBox").finish();

    });

});

코딩연습 ▶


이펙트 효과의 제어와 관련된 메소드

메소드 설명
.delay() 실행 중인 큐 안에서 연속적으로 실행되는 이펙트 효과 사이의 지연 시간을 설정함.
.stop() 선택한 요소에서 실행 중인 모든 이펙트 효과를 즉시 중지시킴.
.finish() 선택한 요소에서 실행 중인 모든 이펙트 효과를 즉시 중지시키고, 선택한 요소가 포함된 큐까지 제거하여 모든 이펙트 효과를 전부 종료시킴.

연습문제