2010-08-17 3 views
0

Я установил слайд-шоу (слайд-шоу()) с помощью setTimeout, и он отлично работает. Мне нужно ограничить слайд-шоу 3 повторов, но когда я добавляю время цикла (Count()) он печатает тест 1 и киоскиsetTimeout stalls while loop

function SlideShow() 
{ 
    setTimeout("document.write('Test 1')", 1500); 
    setTimeout("document.write('Test 2')", 3000); 
    setTimeout("document.write('Test 3')", 4500); 
} 

function Count() 
{ 
    var i=0; 

    do 
    { 
    SlideShow(); 
    i++; 
    } 
    while (i<=3); 
} 

ответ

0

Это работает для меня:

function slideShow() { 
     setTimeout("alert('1');", 1500); 
     setTimeout("alert('2');", 3000); 
     setTimeout("alert('3');", 4500); 
    } 

    function count() { 
     for(var i=0; i<3; i++) { 
      slideShow(); 
     } 
    } 

    count(); 
+0

(Google Chrome) –

+0

Спасибо за усилия - это фактически повторяет Alert1 3 раза, затем alert2 3 раза и т.д. - Sorry - Rhys – Rhys

+0

Что вы хотели? Это то, что вы описали выше * «Мне нужно ограничить это до 3 повторов» * –

0

Вы могли бы просто использовать один тайм-аут, как в:

<img id="theImg" /> 
<script> 
    var cnt = 2, 
     i = 0, 
     pics = [ 
      'image1.png', 
      'image2.png', 
      'image3.png' 
     ]; 
    function SlideShow(ap){ 
     if(ap[i]){ 
      //set the src of theImg to the item i of the array 
      document.getElementById('theImg').src = ap[i++]; 
      setTimeout(function(){ 
       SlideShow(ap); 
      }, 1500); 
     }else if(cnt--){ 
      i = 0; 
      SlideShow(pics); 
     } 
    } 
    SlideShow(pics); 
</script> 
+0

Привет - Это блестяще, работает с удовольствием – Rhys

+0

Мне нужно добавить строку, содержащую подпрограмму анимации после таймера (at), 1500);). У меня есть подпрограммы внутри переменных var1, var2 и т. Д. что-то вроде «tween = 'var' + i; echo tween;". Синтаксис кажется неправильным, потому что он не будет работать. Если я вручную вводю строку Tween, она отлично работает, но мне нужно сопоставить каждую процедуру с соответствующим рисунком слайда. – Rhys

+0

Пошел, использовал другой массив для подростков – Rhys