Простой пример
var l=1
for(var i=0; i<10; ++i){
(function(e){
setTimeout(function(){
if(l==1){
$('#component-1').css('background-color','#dddddd');
l=2;
}
if(l==2){
$('#component-1').css('background-color','red');
l=1;
}
},5000);
})(i)
}
Как я вижу это, десять раз будет изменен цвет у блока через каждые 5 сек.
По факту, через пять секунд блок становится красным и скрипт остановлен.
Подскажите, где ошибки и почему нет желаемого результата?