如何在调用下一个回调函数之前添加延迟?

Koo*_*bin 4 javascript jquery delay

我正在尝试制作一个javascript横幅.我在div中有3个图像,其中包含ID#img1,#img2 n#img3.

<script src="scripts/jquery-latest.min.js" type="text/javascript"></script> 
<script> 
    var AnimState = true;
    var AnimTime = 2000;
    var AnimDelay = 3000;
    $(document).ready( function()
    {
        $('#image img').hide();
        $('#img3').show();
        Show1();
    });
    function Show1()
    {
        if( AnimState === true )
        {
            $("#img3").fadeOut(AnimTime);
            $("#img1").fadeIn(AnimTime, Show2);
        }
    }
    function Show2()
    {
        if( AnimState === true )
        {
            $("#img1").fadeOut(AnimTime);
            $("#img2").fadeIn(AnimTime, Show3);
        }
    }
    function Show3()
    {
        if( AnimState === true )
        {
            $("#img2").fadeOut(AnimTime);
            $("#img3").fadeIn(AnimTime, Show1);
        }
    }
    $('#btn1').click( function()
    {
       AnimState = !AnimState;
       Show1(); 
    }); 
</script> 
Run Code Online (Sandbox Code Playgroud)

它工作正常.唯一的问题是,现在我想在fadein效果后添加延迟,但尝试差异我失败了.那么可以做些什么来增加几分钟的延迟然后只调用下一个函数即.我想在延迟后$("#img3").fadeIn(AnimTime)调用Show1()函数之后添加延迟

Squ*_*kle 5

好的,试试这个.动画制作完成后:

$("#img1").fadeOut(AnimTime);
$("#img2").fadeIn(AnimTime);
setTimeout(Show3, 30000); //delays next call for 30 seconds
Run Code Online (Sandbox Code Playgroud)