var timeleft = 0; btndisabled = true; btninnerHTML = 思考; var timer = setIntervalfunction timeleft--; if timeleft = 0 btndisabled = false; btninnerHTML =
为了重新启动定时器,需要先停止当前的定时器,然后重新设置时间并启动新的定时器。可以按照以下步骤实现:
- 声明一个全局变量来保存定时器。
- 在定时器内部,需要将计时器的时间减少1秒。
- 当计时器时间小于等于0时,需要停止计时器、重新设置时间并启动新的计时器。
- 在重新启动定时器时,需要将计时器时间设置为新的时间,再次禁用按钮并更新按钮文本,然后启动新的计时器。
以下是示例代码:
var timeleft = 10;
var timer;
function startTimer() {
clearInterval(timer);
btn.disabled = true;
btn.innerHTML = "思考";
timer = setInterval(function() {
timeleft--;
if (timeleft <= 0) {
clearInterval(timer);
timeleft = 10; // 重新设置时间
btn.disabled = false;
btn.innerHTML = "发送";
// 启动新的计时器
startTimer();
}
}, 1000);
}
startTimer();
注意,在重新启动计时器时,我们需要调用 startTimer() 函数,而不是直接调用定时器函数。这是因为我们需要重新设置计时器的时间和按钮状态,而这些都在 startTimer() 函数中完成。
原文地址: https://www.cveoy.top/t/topic/bpf8 著作权归作者所有。请勿转载和采集!