2012-02-04 83 views
0

我有每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(); 
    } 

它的工作原理,但...我想稍微隐藏字幕,稍等片刻,然后显示下一个。怎么做?

+1

你必须有一些错误。许多意想不到的','和一个失踪'';' – elclanrs 2012-02-04 19:18:20

+0

@elclanrs:拖尾','是有效的。 – 2012-02-04 19:25:12

+0

它们可能会导致某些浏览器出现问题。为什么你会像那样使用它们?这不是很可读。如果你使用类似jslint的东西,它会告诉你,不!这是不正确的做法... – elclanrs 2012-02-04 19:32:46

回答

1

尝试在其他的setTimeout包裹每个的setTimeout:

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

谢谢,它引导了我延迟()函数 – Nips 2012-02-04 19:58:14