$('#start-button').click(function(){
if(power === true)
{
$(this).toggleClass('on');
if(start === true)
{
start = false;
}
else
{
start = true;
alert("hello");
while(count < 20)
{
num = Math.floor(4*Math.random());
simon.push(moves[num]);
soundNums.push(num);
var tempCount = count+1;
var start = 0;
while(tempCount > 0)
{
delayMove(tempCount);
}
var timeDelay;
function delayMove(index) {
timeDelay = setTimeout(move(index), 500);
}
function move(index) {
$(simon[index]).fadeOut(200).fadeIn(200);
(sounds[soundNums[index]]).play();
start++;
tempCount--;
}
count++;
$("p").text(count);
}
}
}
});
所以我把这些函数移到了外面并且我认为大多数都是正确的,只有问题是现在setTimeout不起作用。我希望通过将计数变量移动到延迟函数中来解决闭包问题。