繁体   English   中英

JS if else语句和重置

[英]JS if else statement and a reset

如果不单击按钮攻击,我想阻止任何操作。 在这种情况下,我想防止如果单击攻击,则可以单击派遣部队,否则发出警报(“您需要先攻击!”)。 另外,当时间用完时,如果可能的话,我希望时钟消失。

时钟

   <button class="attack" onclick="startTimer(60,document.querySelector('#time'))">ATTACK</button>
<button class="troops" onclick="send()">SEND TROOPS</button>

JS

function startTimer(duration, display) {
  var timer = duration,minutes, seconds;
  var timers = setInterval(runner, 1000);
  function runner() {
    minutes = parseInt(timer / 60, 10);
    seconds = parseInt(timer % 60, 10);

    minutes = minutes < 10 ? "0" + minutes : minutes;
    seconds = seconds < 10 ? "0" + seconds : seconds;

    display.textContent = minutes + ":" + seconds;

    if (--timer <= 0) {
     clearInterval(timers)
     finish()
   }
 }

}

您可以先在“发送邮件”按钮上添加“已禁用”属性,这将禁用此按钮,这将阻止单击它。 您可以在单击“攻击”时删除该属性。

添加属性

document.getElementsByClassName("troops")[0]).setAttribute("disabled","disabled")

删除属性:

document.getElementsByClassName("troops")[0]).removeAttribute("disabled","disabled")

您可以具有一个全局标志(例如isAttacked ),该标志将存储是否单击了受攻击的按钮。 然后在send函数中检查isAttacked变量,如果是true发送部队。

你的意思是这样吗?

 function startTimer(duration, display) { // Make troops button enabled when attack button is clicked document.getElementsByClassName("troops")[0].removeAttribute("disabled"); var timer = duration,minutes, seconds; var timers = setInterval(runner, 1000); function runner() { minutes = parseInt(timer / 60, 10); seconds = parseInt(timer % 60, 10); minutes = minutes < 10 ? "0" + minutes : minutes; seconds = seconds < 10 ? "0" + seconds : seconds; display.textContent = minutes + ":" + seconds; if (--timer <= 0) { clearInterval(timers) finish() } } } 
 <button class="attack" onclick="startTimer(60,document.querySelector('#time'))">ATTACK</button> <!-- declare troops button disabled before attack has been clicked --> <button class="troops" disabled onclick="send()">SEND TROOPS</button> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM