Javascript 使用clearInterval清除计时器不工作
我把我的作品放在这里: 如何复制:Javascript 使用clearInterval清除计时器不工作,javascript,timer,Javascript,Timer,我把我的作品放在这里: 如何复制: 点击地图上的绿色别针选择一个车站 填写两个输入name/lastname 在画布上签名 你应该看到一个计时器从20:00分开始 如果您取消(取消按钮)计时器 然后退出画布,计时器仍在运行,未重置 我的计时器在文件/js/timer.js中 我不明白为什么,因为我在调用按钮第59行时清除了我的this.setTimer,我使用了timer.cancel方法来清除间隔并清除会话存储。 但是我试着调试一些奇怪的东西,this.setTimer似乎等于10,然后每
- 点击地图上的绿色别针选择一个车站
- 填写两个输入name/lastname
- 在画布上签名
- 你应该看到一个计时器从20:00分开始
- 如果您取消(取消按钮)计时器
- 然后退出画布,计时器仍在运行,未重置
this.setTimer
,我使用了timer.cancel
方法来清除间隔并清除会话存储。
但是我试着调试一些奇怪的东西,this.setTimer
似乎等于10,然后每次我取消,this.setTimer
增加1
我错过什么了吗?正确的行为应该是当我点击“取消”(cancel)时,计时器重置为20:00分钟
这是我的取消功能
cancel = () => {
this.isPlaying = false;
clearInterval(this.setTimer);
sessionStorage.clear();
console.log(this.setTimer);
canvas.clear();
this.timer.innerHTML = 'Votre réservation a été annulée.'
document.getElementById('reservation-content').classList.remove('hidden');
document.getElementById('cancel-btn').className = 'hidden';
document.getElementById('validation-btn').setAttribute('disabled', null)
}
减去1000时存储旧值
清除间隔后,需要再次重置此.delta
值。
尝试添加
this.delta = (this.endDate - this.now);
之后
在取消方法中
希望我能回答你的问题。演示如何清除计时器,示例还不够。非常感谢,我完全忘记了!
this.delta = (this.endDate - this.now);
clearInterval(this.setTimer);