我已经完成了这段代码并且接近我想要的,但是缺少两个小细节。该函数测量两个事件之间耗时,并在运行 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!");
}
});
});
最佳答案
这不测量 react 时间,但它是 setInterval
/clearInterval
的一个工作示例。
updateText = function(){
$("body").append( $("<p></p>").html(Date()))
}
timer = setInterval( updateText, 2000 )
$(document).keypress(function(){
clearInterval( timer)
$("body").append( $("<p></p>").html("Keypress at " + Date() ))
timer = setInterval( updateText, 2000 )
})
关于javascript - 在 jquery 中重置耗时和 setInterval?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22545201/