Я строю игру симона. И после каждого раунда игрок должен увидеть ходы, которые он должен сыграть в следующем раунде. Поэтому я создал функцию showMoves, которая мигает квадрат, который он должен играть. Проблема в том, что функция ничего не показывает. Может ли кто-нибудь сказать мне, что я пропустил?не удалось установитьTimeout в цикле for
// the effect
function flasher(index) {
$(moves[index]).fadeIn(50).fadeOut(50).fadeIn(50).fadeOut(50).fadeIn(100);
}
var interval2;
// show the moves that supposed to be played
function showMoves() {
for (var i = 0; i < moves; i++) {
if (i === 0) {
interval2 = setTimeout(flasher(i), 1000);
} else {
interval2 = setTimeout(flasher(i), (i+1) * 1000);
}
}
}
вам должен пройти функцию reference.'setTimeout (function() {flasher (i);}, 1000); ' –
@FastSnail, у вас все еще будет [эта ситуация] (http://stackoverflow.com/questions/1451009/ja vascript-infamous-loop-issue), переменная 'i' будет одинаковой во всех вызовах' flasher' –
'1000 === (0 + 1) * 1000'; Помимо более крупной проблемы эти ветви избыточны. – Oka