【发布时间】:2021-01-22 00:27:46
【问题描述】:
如果在不到 1 分钟内按下 10 次按钮会关闭,但如果在 1 分钟内未按下则继续计数,我需要添加什么?
function buttonClicked() {
if (totalCount + accCounter > 9) {
document.getElementById("btn").disabled = true;
}
}
document.getElementById('btn').onclick = function() {
upClickCounter();
buttonClicked()
}
function upClickCounter() {
const clickCounter = document.getElementById("clicker");
const totalClickCounter = document.getElementById('totalCounter');
accCounter++;
clickCounter.children[0].innerText = '+' + accCounter;
totalClickCounter.innerText = totalCount + accCounter;
}
let accCounter = 0;
let totalCount = 0;
<button id="btn">Click me</button>
<div id="clicker">
<span></span>
</div>
<div id="totalCounter"></div>
【问题讨论】:
-
听起来您需要一个
setTimeout()电话,但您想要实现的目标的描述并不是很清楚。 -
同意,
buttonClicked功能让我很反感。 -
该描述没有向我描述 setTimeout - 这将在一分钟后禁用该按钮,因此无法单击它。 “继续计数它在 1 分钟内未按下” 行可能表示 1 分钟后的任何点击都将被忽略。所以取决于你真正想要什么 - 阻止点击或忽略点击(1分钟后)
-
在加载(或“开始”)时将变量设置为开始时间,当它被点击时,检查当前时间是否比开始时间> 1分钟。
-
谢谢大家,我想要一个按钮,如果在不到 1 分钟内按下 10 次,它会关闭但继续计数(如果在 1 分钟内没有按下 10 次)
标签: javascript html jquery css