Как указано в комментариях, вы создаете 1000 тайм-аутов за 500 мс одновременно - через 500 мс все они будут выполнены. Вы хотите увеличить время ожидания для каждой запланированной функции:
setTimeout(function() {
// do something
}, count * 500);
Однако создание 1000 тайм-аутов сразу не является хорошей идеей. Лучше использовать setInterval
или вызывать setTimeout
«рекурсивно», пока не будет достигнут счет 1000, так что вы будете иметь только один активный тайм-аут за раз.
var count = 0;
function update() {
// do something
if (++count < 1000)
setTimeout(update, 500);
// else everything is done
}
update();
Кроме того, если вы намерены создавать тайм-ауты в цикле, убедитесь, что знакомы с замыканиями и их поведение при доступе к переменным счетчика после того, как цикл запущен.