[英]setTimeout()/setInterval() won't execute. **I AM passing the function object - not executing the function
我遇到的问题是:
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
定义
您的代码对我有用。 我确实注意到了其中的一些其他错误:
首先是您的代码将无法清除间隔。 您必须传递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);
无论如何,祝您好运:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.