복붙노트

[JQUERY] 효과가 완료 될 때까지 얼마나 대기에 jQuery를 얻으려면?

JQUERY

효과가 완료 될 때까지 얼마나 대기에 jQuery를 얻으려면?

해결법


  1. 1.당신은 콜백 함수를 지정할 수 있습니다 :

    당신은 콜백 함수를 지정할 수 있습니다 :

    $(selector).fadeOut('slow', function() {
        // will be called when the element finishes fading out
        // if selector matches multiple elements it will be called once for each
    });
    

    여기에 문서.


  2. 2.jQuery를 1.6 버전을 사용하면 .promise () 메소드를 사용할 수 있습니다.

    jQuery를 1.6 버전을 사용하면 .promise () 메소드를 사용할 수 있습니다.

    $(selector).fadeOut('slow');
    $(selector).promise().done(function(){
        // will be called when all the animations on the queue finish
    });
    

  3. 3.당신은뿐만 아니라 약속이 완료 될 때까지 기다려야 $ .when ()를 사용할 수 있습니다 :

    당신은뿐만 아니라 약속이 완료 될 때까지 기다려야 $ .when ()를 사용할 수 있습니다 :

    var myEvent = function() {
        $( selector ).fadeOut( 'fast' );
    };
    $.when( myEvent() ).done( function() {
        console.log( 'Task finished.' );
    } );
    

    당신은뿐만 아니라 실패 할 수 요청을하고있는 경우에, 당신은 더욱 한 단계를 갈 수 있습니다 :

    $.when( myEvent() )
        .done( function( d ) {
            console.log( d, 'Task done.' );
        } )
        .fail( function( err ) {
            console.log( err, 'Task failed.' );
        } )
        // Runs always
        .then( function( data, textStatus, jqXHR ) {
            console.log( jqXHR.status, textStatus, 'Status 200/"OK"?' );
        } );
    

  4. 4.당신이 스위치에 원하는 그 무언가, 중 1 페이딩과 같은 장소에 다른 페이딩, 당신은 {위치 : 절대} 배치 할 수있는 경우 애니메이션이 서로의 상단에 재생 둘 수 있도록 된 div의 속성을, 당신은 필요가 없습니다 다음을 시작하기 전에 끝날 하나의 애니메이션을 기다리는.

    당신이 스위치에 원하는 그 무언가, 중 1 페이딩과 같은 장소에 다른 페이딩, 당신은 {위치 : 절대} 배치 할 수있는 경우 애니메이션이 서로의 상단에 재생 둘 수 있도록 된 div의 속성을, 당신은 필요가 없습니다 다음을 시작하기 전에 끝날 하나의 애니메이션을 기다리는.

  5. from https://stackoverflow.com/questions/1065806/how-to-get-jquery-to-wait-until-an-effect-is-finished by cc-by-sa and MIT license