我需要创建一个计时器,并希望测量时间从单击确定开始直到用户单击确定停止。我只是想显示点击确定之间的时差。有没有人知道如何尽可能简单地做到这一点?虽然对你们大多数人来说这似乎很容易,但我真的很难找到它,感谢任何帮助
var canvas;
canvas = openGraphics();
alert( "Press \"OK\" to start the timer." );
alert( "Press \"OK\" to stop the timer." );
canvas.paint();
答案 0 :(得分:1)
http://jsfiddle.net/g74ssnku/1/
alert("ok start")
var starttime = Date.now();
alert("ok stop")
var stoptime = Date.now();
var seconds_between = (stoptime - starttime)/1000 ;
alert(seconds_between + " seconds");
只记录两次确认之间的时间,你应该没事。
答案 1 :(得分:1)
有一个OK按钮,或许:
<input type="button" id="the-button" value="OK">
在HTML之后的某个地方的脚本标记中(在文档的末尾是好的),有一个timer
变量,最初是0
:
var timer = 0;
...并为按钮添加事件处理程序:
document.getElementById("the-button").addEventListener("click", function() {
// ...we'll add more here in a moment...
}, false);
当用户点击该按钮时,如果timer
为0
,则记录开始时间;如果没有,请报告差异并将其重置为0
:
document.getElementById("the-button").addEventListener("click", function() {
var elapsed;
if (timer === 0) {
timer = Date.now();
} else {
elapsed = Date.now() - timer; // In milliseconds
alert("Elapsed time: " + elapsed); // Or whatever you want to do with it
timer = 0;
}
}, false);
直播示例:
(function() {
"use strict";
var timer = 0;
document.getElementById("the-button").addEventListener("click", function() {
var elapsed;
if (timer === 0) {
timer = Date.now();
} else {
elapsed = Date.now() - timer; // In milliseconds
alert("Elapsed time: " + elapsed);
timer = 0;
}
}, false);
})();
<input type="button" id="the-button" value="OK">
注意:它使用addEventListener
,所有现代浏览器(包括IE9)都支持attachEvent
。要支持旧IE(例如IE8),您必须处理它使用addEventListener
而不是Date.now
这一事实。同样,if (!Date.now) {
Date.now = function() {
return +new Date();
};
}
不在IE8中,但可以为旧浏览器进行填充:
{{1}}