2016-04-05 24 views
1

için uyku() Bu komut vardır:JavaScript - döngü

var array = []; 
array[0] = 'http://facebook.com/'; 
array[1] = 'http://instagram.com/'; 
array[2] = 'http://twitter.com'; 

$(document).ready(function() 
{ 
    for(i=0; i<= 2; i++) 
    { 
     $('#ifr').attr('src', array[i]); 
     // sleep here for 0,5 second 
    } 
}); 

Ve 0.5 saniye bu döngüyü nasıl durdurabilirim?

Bu amaçla setTimeout kullanabilirsiniz
+0

.. 2 tekrardan sonra durdurulur if(i <= 2) eklendi .... –

+0

@Pamblam yüzden bana bir ver Javascript'te alternatif. – Majkson

+0

@blex bana bir örnek verebilir misiniz? – Majkson

cevap

4

,

for(i=0; i<=2; i++) { 
    setTimeout(function(i) { 
    $('#ifr').attr('src', array[i]); 
    },500 * i,i); 
    //1000 ms is 1 sec, here I have give 0.5 seconds as a delay. 
} 

kapatma sorunu ele için her tekrarda kapsamını oluşturmaya gerek yoktur. callBack işlevinin bağımsız değişkenini ayarlamak için setTimout üçüncü parametresini kullanabilirsiniz.

1
(function rec(i){ 
    setTimeout(function(){ 
     $('#ifr').attr('src', array[i]); 
     if(i <= 2) rec(i+1); 
    }, 5000); 
})(0); 

DÜZENLEME: yani sonsuza recurse etmediğini .. bu javascript hiçbir uyku yoktur

+0

5000 ms, 500 ms – digglemister

+0

olmalıdır, bunu ekledim. –

+0

+3'dan -1'e nasıl gittim? –