javascript - 在 jquery 中重置耗时和 setInterval?

标签 javascript jquery time reset

我已经完成了这段代码并且接近我想要的,但是缺少两个小细节。该函数测量两个事件之间耗时,并在运行 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 )

})

http://jsfiddle.net/KHaaL/

关于javascript - 在 jquery 中重置耗时和 setInterval?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22545201/

相关文章:

java - 查找两个时间之间的差异时出现的问题

javascript - 进度条无法正确重置

javascript - 正则表达式允许所有数字但如果在 Javascript 中只有 0 则不允许

javascript - 并发 AJAX 请求不起作用。最新的请求会覆盖之前的请求

javascript - 查找已提交表单的所有提交按钮

java - Calendar.UNDECIMBER 是做什么的?

javascript - API 2+ 中的 Vaadin 元素 vaadin-grid 自定义渲染器

javascript - 没有点击就触发了onclick事件

jquery - SVG animateTransform 不适用于 FF 和 IE

go - golang中的时间格式-DayOfyearTHour:Minute.000Z