Также, если вы используете сторонние библиотеки, убедитесь, что у вас есть правильные 32/64 битные файлы
Как указано в комментариях, вы создаете 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();
Кроме того, если вы намерены создавать тайм-ауты в цикле, убедитесь, что знакомы с замыканиями и их поведение при доступе к переменным счетчика после того, как цикл запущен.
Попробуйте
function recurse ( cnt ) {
for (var i in MenuData) {
$("#Menu").append('<div style="position:relative; left:' + MenuData[i].x + 'px; top:' + PositionArray[i] + 'px; ">123</div>');
}
if (cnt < 1000){
setTimeout(function () { recurse(cnt + 1); }, 500);
}
}
$("#Menu").html('');
if (PositionArray[count] != null) {
PositionArray[count]++;
} else {
PositionArray[count] = 0;
}
recurse(0);