Jquery 如何延迟循环动画?

Jquery 如何延迟循环动画?,jquery,Jquery,我有图像,每5000毫秒改变一次,我想在它们上面加上字幕。我有这个: function showEl1(){ $('#wrap').animate({ left: '-450', }, 500, function() { $('#wrap').html($('#el1').html()); }).animate({ left: '70',}, 500);

我有图像,每5000毫秒改变一次,我想在它们上面加上字幕。我有这个:

    function showEl1(){
        $('#wrap').animate({ 
                left: '-450',
            }, 500, function() { 
                $('#wrap').html($('#el1').html()); 
            }).animate({ left: '70',}, 500);
        setTimeout(showEl2, 5000);
    }

    function showEl2(){
        $('#wrap').animate({ 
                left: '-450',
            }, 500, function() { 
                $('#wrap').html($('#el2').html()); 
            }).animate({ left: '70',}, 500);
        setTimeout(showEl3, 5000);
    }

    function showEl3(){
        $('#wrap').animate({ 
                left: '-450',
            }, 500, function() { 
                $('#wrap').html($('#el3').html()); 
            }).animate({ left: '70',}, 500);
        setTimeout(showEl1, 5000);
    }

    $(document).ready(function(){
        showEl1();
    }

它是有效的,但是。。。我想早点隐藏字幕,等一下,然后再显示下一个。如何操作?

尝试将每个setTimeout包装到另一个setTimeout中:

setTimeout(function() { setTimeout(showElq, 5000); }, 1000);

你有一些错误。许多意外的
和一个丢失的
@elclanrs:Trailing
有效。它们可能会导致某些浏览器出现问题。你为什么要那样使用它们?它不太可读。如果你使用像jslint这样的东西,它会告诉你,不!这不是正确的方法…@elclanrs我很确定他没有问你这个问题,因为你告诉他你不喜欢他的代码外观…谢谢,它引导我使用delay()函数