Показать сообщение отдельно
  #1 (permalink)  
Старый 31.03.2015, 15:36
Интересующийся
Отправить личное сообщение для Poveritov Посмотреть профиль Найти все сообщения от Poveritov
 
Регистрация: 28.11.2011
Сообщений: 21

Не работает settimeout в цикле
Простой пример
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 сек.

По факту, через пять секунд блок становится красным и скрипт остановлен.

Подскажите, где ошибки и почему нет желаемого результата?
Ответить с цитированием