[英]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.