【发布时间】:2014-03-20 21:12:40
【问题描述】:
我已经完成了这段代码并且接近了我想要的,但是缺少两个小细节。该函数测量两个事件之间经过的时间,并在运行 3 次后停止。
我希望在每次按键事件后重置时间。在我的研究中,我发现了这个问题:Mesure a Reaction Time in ms on a JSP webpage,但这对重置没有太大帮助。
我还想在没有按键时每 2 秒自动更改一次 div 的文本,然后获得 2000 的经过时间。
这在某种程度上是可能的吗?我试过 setInterval 但没有成功。
var t1;
var counter=0;
var teststim = ["AAA", "BBB", "CCC", "DDD"];
$(function(){
t1 = (new Date()).getTime();
$(document).keypress(function(e){
var t2 = (new Date()).getTime();
var reac = t2 - t1;
counter++;
if (e.keyCode == 97 || e.keyCode == 108) {
$("#stimuli").text(teststim[Math.floor(Math.random() * teststim.length)]);
};
if (counter == 3) {
confirm("It's over!");
}
});
});
【问题讨论】:
-
"每 2 秒自动"... 尝试使用
setInterval? -
setInterval 对我来说似乎是正确的。每 2 秒调用一次该函数,如果按下某个键,则清除计时器并将其重置为 2 秒。
标签: javascript jquery time reset