reassign the variable b in the loop and use the new variable already as a parameter for the time interval.
function timeStart() { var array_one = new Array("#bmw1", "#bmw2", "#bmw3", "#bmw4", "#bmw5"); var array_two = new Array("#mercedes1", "#mercedes2", "#mercedes3", "#mercedes4", "#mercedes5") for (var a = 0, b = 1000; a < 5; ++a, b += 2000) { set t=b; setTimeout(function () { $(array_one[a] + "," + array_two[a]).fadeOut(1000, function () { $(array_one[a + 1] + "," + array_two[a + 1]).fadeIn(3000) }) } , t) } }
It may also be necessary to reassign the variable a . So terrible this setTimeout .
function timeStart() { var array_one = new Array("#bmw1", "#bmw2", "#bmw3", "#bmw4", "#bmw5"); var array_two = new Array("#mercedes1", "#mercedes2", "#mercedes3", "#mercedes4", "#mercedes5") for (var a = 0, b = 1000; a < 5; ++a, b += 2000) { set t=b; set mas=a; setTimeout(function () { $(array_one[mas] + "," + array_two[mas]).fadeOut(1000, function () { $(array_one[mas + 1] + "," + array_two[mas + 1]).fadeIn(3000) }) } , t) } }