在 Javascript 中重置计时器

Resetting Timer in Javascript

所以我的游戏几乎完成了它的 alpha 开发,然后我将启动它。

只是有问题。我使用 div 元素创建了按钮。这个按钮(div)应该只被点击一次然后被禁用。

是否可以禁用我制作的这个按钮(div)元素?

这是我的代码

function speedOne(){
 if (incomeDisplay >= boosterCostOne){
  
  document.getElementById("incomeDisplay").innerHTML = "Arrings : ℵ " + (incomeDisplay = incomeDisplay - boosterCostOne);
    
  document.getElementById("speedOne").setAttribute("disabled", "disabled");
  
 booster = 2;
  
 }
}
.speed-boosters {
 background-color: royalblue;
 width:170px;
 margin-top: 2%;
 margin-left: 2%;
 margin-bottom: 2%;
 padding:15px;
 font-weight: bold;
 cursor: pointer;
 box-shadow: 
  1px 2px 5px black,
  -1px 2px 5px black;
 border-radius: 5px;
}

.speed-boosters:hover{
 background-color: deepskyblue;
  box-shadow: 
  1px 2px 10px black,
  -1px 2px 10px black;
}

.speed-boosters:active{
 box-shadow: inset 0px 0px 15px 2px black;
 border-radius: 5px;
}
<div class = "speed-boosters" id="speedOne" onclick="speedOne()">Speed Booster - 1</div>
     <p>Buy Speed Booster - 1 : Boost Income speeds by 10%</p>
     

所以你可以看到我的按钮很漂亮但是可以点击很多次

如何让一个play只能点击一次?

您无法禁用 div。您必须将其切换为 button(就是这样)。

那么你可以使用:

document.getElementById("speedOne").setAttribute("disabled", "disabled");

您还可以根据 disabled 属性设置按钮样式:

.speed-boosters:disabled {
    background-color: red;
}

function speedOne(){
  console.log('foo');
  document.getElementById("speedOne").setAttribute("disabled", "disabled");
}
.speed-boosters {
 background-color: royalblue;
 width:170px;
 margin-top: 2%;
 margin-left: 2%;
 margin-bottom: 2%;
 padding:15px;
 font-weight: bold;
 cursor: pointer;
 box-shadow: 
  1px 2px 5px black,
  -1px 2px 5px black;
 border-radius: 5px;
}

.speed-boosters:hover{
 background-color: deepskyblue;
  box-shadow: 
  1px 2px 10px black,
  -1px 2px 10px black;
}

.speed-boosters:active{
 box-shadow: inset 0px 0px 15px 2px black;
 border-radius: 5px;
}

.speed-boosters:disabled {
 background-color: red;
}
<button class = "speed-boosters" id="speedOne" onclick="speedOne()">Speed Booster - 1</button>
<p>Buy Speed Booster - 1 : Boost Income speeds by 10%</p>