Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2013, 00:11   #1
Mortimoro
Форумчанин
 
Регистрация: 03.12.2010
Сообщений: 334
По умолчанию setTimeout неправильно отрабатывает

есть десяток таблиц, нужно с интервалом в 5 секунд выделять каждую из них рамкой.

в этом варианте все таблицы выделяются сразу, а через 5 секунд выскакивает сообщение и при нажатии "ок" сразу следующее, и следующее, и дальше по количеству таблиц, то есть даже между сообщениями нет паузы.
Код:
var count=$("table[id^=view]").length; //число таблиц на странице
for(i=0;i<count;i++){
    setTimeout('alert("прошло 5 секунд")', 5000);
    $("table[id^=view]:eq("+i+")").css({"border":"1px dashed green"});
}
в этом варианте спустя 5 секунд появляется сообщение, при нажатии "ок" так же одно за другим следуют остальные сообщения без паузы, а таблицы не выделяются вообще.
Код:
var count=$("table[id^=view]").length; //число таблиц на странице
for(i=0;i<count;i++){
    setTimeout(function(){
        alert("прошло 5 секунд");
        $("table[id^=view]:eq("+i+")").css({"border":"1px dashed green"});
    }, 5000);
}
Вопросы:
1. в чем моя ошибка?
2. почему код выполняется не последовательно, как этого следовало бы ожидать?
Mortimoro вне форума Ответить с цитированием
Старый 03.05.2013, 00:17   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

маны надо читать, прежде чем что-тописать
eval вне форума Ответить с цитированием
Старый 03.05.2013, 01:32   #3
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

можешь это взять
Тишина – самый громкий звук
nerv вне форума Ответить с цитированием
Старый 03.05.2013, 02:04   #4
Mortimoro
Форумчанин
 
Регистрация: 03.12.2010
Сообщений: 334
По умолчанию

eval, маны я параллельно читаю, но не всегда внимание акцентируется на нужных вещах. Спасибо за бессмысленное набитие поста, но можно было просто пройти мимо и не умничать.

nerv, анимация в моем случае чуть не то, но я сам ввел в заблуждение - я в посте свел задачу к изменению стиля, чтоб не нагружать лишним кодом, на самом деле мне нужно ряд других манипуляций произвести ) но все равно спасибо, до анимации я еще не добрался - в будущем пригодится когда интерфейсные решения буду искать.

задачу решил вложенным setTimeout, всем спасибо за внимание.
Mortimoro вне форума Ответить с цитированием
Старый 03.05.2013, 10:28   #5
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Надо было читать не параллельно, тогда бессмысленного вопроса не пришлось бы набивать, ку?
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замыкания и setTimeout Виталий Желтяков JavaScript, Ajax 7 26.01.2012 13:16
setTimeout bulldog5293 Работа с сетью в Delphi 1 22.07.2010 14:31
SetInterval и SetTimeOut Syltan JavaScript, Ajax 1 10.05.2010 22:42