Javascript setInterval()在clearInterval()之后不工作

Javascript setInterval()在clearInterval()之后不工作,javascript,electron,Javascript,Electron,我目前正在用Javascript制作一个带有开始和停止按钮的pomodoro计时器。在使用clearInterval()停止倒计时后,使用setInterval()启动倒计时时遇到了问题。我有两个函数,一个在单击按钮时调用,一个使用setInterval()启动倒计时,另一个使用clearInterval()停止倒计时。我不确定发生了什么,下面是我的实现: var startTime = 25; // this value will change depending on what the us

我目前正在用Javascript制作一个带有开始和停止按钮的pomodoro计时器。在使用clearInterval()停止倒计时后,使用setInterval()启动倒计时时遇到了问题。我有两个函数,一个在单击按钮时调用,一个使用setInterval()启动倒计时,另一个使用clearInterval()停止倒计时。我不确定发生了什么,下面是我的实现:

var startTime = 25; // this value will change depending on what the user selects, default value is 25:00
var time = startTime * 60; //number of seconds total
var intervalID; //used for setInterval()

var pomodoroTimer = document.getElementById('pomodoro-timer');


function updateTimer(){
    let minutes = Math.floor(time/60);
    let seconds = time % 60;

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

    pomodoroTimer.innerHTML = minutes + ':'+ seconds;
    time--;
}

function startTimer(){
    if(!intervalID){ // to prevent multiple setIntervals being queued up
        updateTimer(); // call this once to stop clock from taking too long on first use of the setInterval function
        intervalID = setInterval(updateTimer, 1000);
    }
}

function stopTimer(){
    clearInterval(intervalID);
}
var startTime=25;//此值将根据用户选择的内容进行更改,默认值为25:00
var时间=开始时间*60//总秒数
var有效期//用于setInterval()
var pomodoroTimer=document.getElementById('pomodoro-timer');
函数updateTimer(){
分钟=数学楼层(时间/60);
让秒=时间%60;
分钟=分钟<10?'0'+分钟:分钟;
秒=秒<10?'0'+秒:秒;
pomodoroTimer.innerHTML=分钟+':'+秒;
时间--;
}
函数startTimer(){
如果(!intervalID){//以防止多个设置间隔排队
updateTimer();//调用此函数一次,以避免在第一次使用setInterval函数时时钟占用的时间过长
intervalID=setInterval(updateTimer,1000);
}
}
函数stopTimer(){
clearInterval(intervalID);
}

提示:
clearInterval(intervalID)
不更改变量
intervalID
的值,您忘记添加
intervalID=0
清除间隔(有效期)(JavaScript没有out或ref参数)谢谢jaromanda X和nick,您的信息让它工作了!我不知道简单地使用clearInterval()不会改变值。
function stopTimer(){
    clearInterval(intervalID);
    intervalID = undefined;
}