0

呼び出されたときに一連のアニメーションをトリガーする関数があります。リンクがクリックされたときにすべてのアニメーションを停止できるようにしたい。コードは次のとおりです。

var slogan = false;
function slogan_slide(){
    slogan = true;
    if($('#slogan').is(':visible')){
        $('#slogan_1').fadeIn(500);
        $('#slogan_2').delay(1300).fadeIn(500);
        $('#slogan_3').delay(2600).fadeIn(500);
        $('#slogan_4').delay(3900).fadeIn(500, function(){
            $('#slogan_1').delay(3000).hide();
            $('#slogan_2').delay(3000).hide();
            $('#slogan_3').delay(3000).hide();
            $('#slogan_4').delay(3000).fadeOut(500, function(){
                $('#home_content').fadeIn(500);
                slogan = false;
            });
         });
     }
}

function slogan_stop(){
    $('#slogan_1').stop(true).fadeOut(500);
    $('#slogan_2').stop(true).fadeOut(500);
    $('#slogan_3').stop(true).fadeOut(500);
    $('#slogan_4').stop(true).fadeOut(500);
    $('#home_content').stop(true).fadeOut(500); 
}

$(document).on('click','a', function(){
    if(slogan) slogan_stop();
});

これにより、#home_content でのフェードインへのコールバックを除くすべてのアニメーションが停止します。そのコールバックが発生しないようにするにはどうすればよいですか?

4

0 に答える 0