У меня есть 12 цветных квадратов, которые при нажатии кнопки выбираются случайным образом, а цвет фона изменен на черный.Выполнение кода внешнего цикла
Все квадраты меняли цвет одновременно, пока я не добавил функцию setTimeout, которая исправила эту проблему, но вызвала другую - код цикла за циклом выполняется до цикла, то есть вызывает функцию Reset и предупреждение.
for (var i = 0; i < 6;i++)
{
setTimeout(function()
{
var rand = arr[Math.floor(Math.random() * arr.length)];
var square = document.getElementById('square' + rand);
square.style.background="black";
},1000 * i);
}
Reset()
alert("Reset function")
Я полагаю, что функция setTimeout каким-то образом вызывает это - есть ли способ решить эту проблему?
спасибо.
Разве это не цель тайм-аута? –
Серьезно, я не понимаю вашу проблему, потому что то, что вы описываете, является точно целью тайм-аута, задержка выполнения любого кода или функции –
Да, я понимаю, что ans, как я сказал выше, работает правильно в этом отношении, но вызывает код за пределами цикла, который должен быть выполнен первым. Функция Reset не предназначена для вызова до тех пор, пока цикл не будет выполнен. – user3047072