Javascript 单击或按空格键时启动/停止多维数据集计时器

Javascript 单击或按空格键时启动/停止多维数据集计时器,javascript,html,Javascript,Html,我正在使用一个立方体计时器,你可以按空格键/单击开始,然后按空格键/单击停止。我做了一个工作按钮,可以停止/启动计时器,但一个按钮是非常不切实际的 以下是我目前掌握的代码: //定义变量以保存时间值 设秒=0; 分钟=0; 设小时=0; //定义变量以保存“显示”值 让displaySeconds=0; 设displayMinutes=0; 设displayHours=0; //定义var来保存setInterval()函数 设区间=null; //定义变量以保持秒表状态 让status=“s

我正在使用一个立方体计时器,你可以按空格键/单击开始,然后按空格键/单击停止。我做了一个工作按钮,可以停止/启动计时器,但一个按钮是非常不切实际的

以下是我目前掌握的代码:

//定义变量以保存时间值
设秒=0;
分钟=0;
设小时=0;
//定义变量以保存“显示”值
让displaySeconds=0;
设displayMinutes=0;
设displayHours=0;
//定义var来保存setInterval()函数
设区间=null;
//定义变量以保持秒表状态
让status=“stopped”;
//秒表功能(确定何时增加下一个值等的逻辑)
功能秒表(){
秒++;
//确定何时增加下一个值的逻辑
如果(秒/60==1){
秒=0;
分钟++;
如果(分钟/60==1){
分钟=0;
小时++;
}
}
//如果秒/分/小时仅为一位数字,则在该值前加一个前导0
如果(秒<10){
displaySeconds=“0”+seconds.toString();
}否则{
显示秒=秒;
}
如果(分钟<10){
displayments=“0”+分钟数.toString();
}否则{
显示分钟=分钟;
}
如果(小时<10){
displayHours=“0”+hours.toString();
}否则{
显示小时=小时;
}
//向用户显示更新的时间值
document.getElementById(“display”).innerHTML=displayHours+:“+displayMinutes+”:“+displaySeconds;
}
函数startStop(){
如果(状态==“已停止”){
//启动秒表(通过调用setInterval()函数)
间隔=窗口。设置间隔(秒表,1000);
document.getElementById(“startStop”).innerHTML=“停止”;
status=“已启动”;
}否则{
窗口。清除间隔(间隔);
document.getElementById(“startStop”).innerHTML=“开始”;
status=“已停止”;
}
}
#时间{
文本对齐:居中;
字号:80px;
字体系列:Roboto Mono;
}

0
开始

主要部分位于JS块的末尾:

document.getElementById("time").addEventListener('click', function() { startStop(); });
document.body.onkeyup = function(e){ if(e.keyCode == 32){ startStop(); }};
//定义变量以保存时间值
设秒=0;
分钟=0;
设小时=0;
//定义变量以保存“显示”值
让displaySeconds=0;
设displayMinutes=0;
设displayHours=0;
//定义var来保存setInterval()函数
设区间=null;
//定义变量以保持秒表状态
让status=“stopped”;
//秒表功能(确定何时增加下一个值等的逻辑)
功能秒表(){
秒++;
//确定何时增加下一个值的逻辑
如果(秒/60==1){
秒=0;
分钟++;
如果(分钟/60==1){
分钟=0;
小时++;
}
}
//如果秒/分/小时仅为一位数字,则在该值前加一个前导0
如果(秒<10){
displaySeconds=“0”+seconds.toString();
}否则{
显示秒=秒;
}
如果(分钟<10){
displayments=“0”+分钟数.toString();
}否则{
显示分钟=分钟;
}
如果(小时<10){
displayHours=“0”+hours.toString();
}否则{
显示小时=小时;
}
//向用户显示更新的时间值
document.getElementById(“display”).innerHTML=displayHours+:“+displayMinutes+”:“+displaySeconds;
}
函数startStop(){
如果(状态==“已停止”){
//启动秒表(通过调用setInterval()函数)
间隔=窗口。设置间隔(秒表,1000);
document.getElementById(“startStop”).innerHTML=“停止”;
status=“已启动”;
}否则{
窗口。清除间隔(间隔);
document.getElementById(“startStop”).innerHTML=“开始”;
status=“已停止”;
}
}
document.getElementById(“time”).addEventListener('click',function(){startStop();});
document.body.onkeyup=函数(e){if(e.keyCode==32){startStop();}
#时间{
文本对齐:居中;
字号:80px;
字体系列:Roboto Mono;
}

0
开始

document.getElementById(“时间”).addEventListener(“单击”,时间)
常量pad=num=>(“0”+num).slice(-2)<代码>文档.getElementById(“显示”).innerHTML=pad(小时)+“:”+pad(分钟)+“:”+pad(秒)或更短的代码:
document.getElementById(“display”).innerHTML=`${pad(小时)}:${pad(分钟)}:${pad(秒)}`在没有()的情况下执行time()不会work@loki它以什么方式不起作用?当我测试代码时,单击不起作用,空格键只有在你第一次单击按钮时才起作用,有什么修复吗?@loki code按原样工作,我不知道什么是上下文和干扰我的额外代码。如果你可以共享你的工作页面,我可以检查,否则很难说问题出在哪里。我发现了代码中的错误,发现了语法错误,不知何故我缺少了一个括号。