setTimeout()/ setInterval()将不会执行。 **我传递函数对象 - 不执行功能
我遇到问题的块如下:setTimeout()/ setInterval()将不会执行。 **我传递函数对象 - 不执行功能
setInterval(checkInput, 5000);
其中
var checkInput = function (letter) {
console.log("This executed")
if (ncorrect > 25)
clearInterval();
if (document.getElementById('keyinput').value === letter)
ncorrect++;
else
ncorrect = 0;
}
我看了SO职位,其中问题是传递的函数看起来像setTimeout(function(), 500)
,问题是()
,但我显然没有这样做。
调试时,似乎函数永远不会实际执行,并且setTimeout()/ setInterval()不会等待给定的时间量。我没有收到任何错误或警告。任何见解都会被赞赏。谢谢!
它为我所有的作品,唯一的错误,我得到的是: - ncorrect
未定义 - 我没有我的网页上document.getElementById('keyinput')
;)
其余的应该罚款。你有ncorrect
和#keyinput
定义
是! '#keyinput'是''和'ncorrect'正好在开头'var ncorrect = 0;'' – Charles 2015-02-08 04:40:51
您的代码正在为我工作。但我注意到其中的一些其他错误:
首先是您的代码将无法清除间隔。你必须通过clearInterval
参数,像这样:
var checkInput = function (letter) {
console.log("This executed")
if (ncorrect > 25)
clearInterval(interval);
if (document.getElementById('keyinput').value === letter)
ncorrect++;
else
ncorrect = 0;
}
var interval = setInterval(checkInput, 5000);
第二个是你的checkInput
函数接受letter
的参数。就目前而言,你并没有传递任何东西给函数。要做到这一点,你就必须这样做:
var interval = setInterval(function(){
var letter = 'a' //whatever value you want to pass
checkInput(letter);
}, 5000);
反正好运来你:)
尝试的setInterval( 'checkInput',5000); – 2015-02-08 04:41:49