vasileman1984
Гуру
(4302)
11 лет назад
Я так подозреваю, они окрашиваются не моментально, а просто все сразу. Вы просто не до конца поняли, как работает setTimeout - она не ждет, пока пройдет 1000 миллисекунд, а просто заставляет браузер запланировать выполнение кода через определенное время после текущего момента, и возвращает управление сразу же, не дожидаясь выполнения. Вы крутите цикл в обработчике:
for (i = 0; i < 25; i++) { window.setTimeout(...); }
и двадцать пять раз планируете выполнение функции через секунду (ведь на тот момент, когда закончилось выполнение window.setTimeout, прошла не секунда, а гораздо меньше времени. Чтоб сделать то, что вы хотите, нужно вызывать setTimeout в конце d_orange и d_white.
Сама таблица содержит 25 строк. Метод d_white и d_orange меняют фон на белый и оранжевый соответственно. Я их проверял, они работают верно.
При запуске метода startclr в таблице все ячейки моментально становятся оранжевыми (вне зависимости от того, какую задержку я установил в setTimeot - 10 или 50000).
Ещё пробовал поставить в цикле alert('Message"). Мне выдавало 25 сообщений, опять же, моментально, без задержки.
В чем проблема?