1

我需要 javascript 代码,这将允许我以秒为单位记录响应时间并输出结果(到文档,例如 task_times),以便按下数字开始和完成按钮。我有一个在线测试,其中包含 10 个简单的 html 问题页面,其中一个包装器居中并显示带有回答选项的问题。

一个开始按钮出现在一个新页面上,用户点击它会显示要回答的问题。当用户完成时,他按下 DONE 按钮为下一个问题移动一个新的开始页面。我想以秒为单位记录这些开始和完成按钮的按下时间,并将时间之间的差异写入文本文件(可能带有页面名称)

很感谢任何形式的帮助。

4

2 回答 2

3
var start = Date.now();  
// do something
var end = Date.now();  
alert(end-start)

请注意,如果您不希望您的用户篡改这些数据,您最好在服务器端计算时间。

于 2012-04-20T09:38:09.567 回答
1

因为有人仍在寻求这个问题的答案......您需要将事件侦听器添加到“开始”和“完成”按钮并使用new Date(). jsfiddle

function E(id) {
    return document.getElementById(id);
}
E('startButton').addEventListener('click', function () {
    var startTime = new Date();
    E('startButton').style.display = 'none';
    E('hidden').style.display = 'block';
    E('doneButton').addEventListener('click', function() {
        document.body.innerHTML += 'Time taken (ms): '
            + (new Date() - startTime);
    });
});

在客户端 javascript 中,无法使用户无法看到文本文件;您需要将时间提交给服务器端脚本,该脚本将记录它并在某处输出文本文件。

于 2013-08-12T21:50:05.867 回答