我正在尝试制作测试您的反应时间的程序,但我不知道如何衡量两个事件之间的时间,例如按钮点击。到目前为止,这是我的代码。提前感谢任何可以提供帮助的人。
<!DOCTPYE html>
<html>
<head>
<script>
var button = document.getElementById("reactionTester");
var start = document.getElementById("start");
function init() {
var startInterval/*in milliseconds*/ = Math.floor(Math.random() * 30) * 1000;
setTimeout(startTimer, startInterval);
}
function startTimer() {
/*start timer and then later use stopTimer() to stop the timer and find
the difference bettween both button clicks.*/
}
</script>
</head>
<body>
<form id="form">
<input type="button" id="reactionTester" onclick="stopTimer()">
<input type="button" value="start" id="start" onclick="init()">
</form>
</body>
</html>
答案 0 :(得分:7)
var startTime;
function startButton() {
startTime = Date.now();
}
function stopButton() {
if (startTime) {
var endTime = Date.now();
var difference = endTime - startTime;
alert('Reaction time: ' + difference + ' ms');
startTime = null;
} else {
alert('Click the Start button first');
}
}
将开始和停止按钮绑定到这些功能。
答案 1 :(得分:1)
为了获得已经过去的时间,你总是需要一个start_time和end_time。 startTimer()应设置start_time变量(或类似命名的东西),stopTimer()应设置end_time变量。
stopTimer()然后可以减去两次,你已经达到了毫秒数。
(JavaScript以毫秒为单位存储时间,因此oldTime - newTime =毫秒传递。)
编辑:示例JSFiddle - http://jsfiddle.net/L3Xha/
var startTime, endTime;
// self-executing function
(function(){
// init the background to white
document.body.style.background = "white";
// reset the color of the BG after 3 seconds.
setTimeout(
function(){
document.body.style.background = "red";
startTime = Date.now();
}
, 3000);
$("#go").on("click", function(){
stopTime = Date.now();
$("#reflex").text(
"Your time was " + (stopTime - startTime) + "ms."
);
});
})();
答案 2 :(得分:0)
您不需要表格,只需要按钮,也不需要间隔。你也不需要jQuery。
<!DOCTPYE html>
<html>
<head>
<script>
var startTime, running;
function startStop() {
if (running) {
var timeTaken = Date.now() - startTime;
running = false;
console.log("Time: " + timeTaken);
}
else {
running = true;
startTime = Date.now();
}
}
</script>
</head>
<body>
<button onclick="startStop();">Start/Stop</button>
</body>
</html>
修改强>
Date.now()
可能更快。
答案 3 :(得分:0)
跟踪第一次点击的时间,第二次点击,显示现在和第一次点击之间的差异。
var start;
$('button').click(function() {
if (undefined === start) {
start = new Date().getTime();
return;
}
alert('Time difference is:' + (new Date.getTime() - start));
});
答案 4 :(得分:0)
要测量两次按钮点击之间的毫秒数,请在javascript中记录时间戳
第一个按钮:
document.getElementById('submit-button1').onclick = function() {
console.log(new Date().getTime()); //1388696290801
}
第二个按钮:
document.getElementById('submit-button2').onclick = function() {
console.log(new Date().getTime()); //1388696292730
}