Javascript 如何在Jquery中切换设置间隔函数?

Javascript 如何在Jquery中切换设置间隔函数?,javascript,jquery,html,Javascript,Jquery,Html,我正在试着做一个倒计时。当我按下数字31时,运行代码,我希望倒计时在开始和暂停之间切换。我该怎么做呢?h1元素上的另一个单击事件将不起作用。 代码如下: $document.readyfunction{ $时钟。单击开始 }; var秒=60; 让间隔; 让我看分钟,id; 功能启动{ id=e.target.id; 分钟数=Numbere.target.textContent-1; 间隔=设置间隔开始计时器,1000 console.logid } 功能启动器{ 秒-; $`${id}`.t

我正在试着做一个倒计时。当我按下数字31时,运行代码,我希望倒计时在开始和暂停之间切换。我该怎么做呢?h1元素上的另一个单击事件将不起作用。 代码如下:

$document.readyfunction{ $时钟。单击开始 }; var秒=60; 让间隔; 让我看分钟,id; 功能启动{ id=e.target.id; 分钟数=Numbere.target.textContent-1; 间隔=设置间隔开始计时器,1000 console.logid } 功能启动器{ 秒-; $`${id}`.textminutes+':'+秒; 如果秒=0{ 秒=60; 分钟-; 如果分钟<0{ 清晰间隔; 警报“时间到了”; } } } 我的实验室 31 $document.readyfunction{ $时钟。单击开始 }; var秒=60; 设区间=null; 让我看分钟,id; 功能启动{ id=e.target.id; 如果!分钟{ 分钟数=Numbere.target.textContent-1; } 如果间隔==null{ 间隔=设置间隔开始计时器,1000 }否则{ 清晰间隔; 间隔=空; } } 功能启动器{ 秒-; $`${id}`.textminutes+':'+秒; 如果秒=0{ 秒=60; 分钟-; 如果分钟<0{ 清晰间隔; 警报“时间到了”; } } } 我的实验室 31 $document.readyfunction{ $时钟。单击开始 }; var秒=60; 设区间=null; 让我看分钟,id; 功能启动{ id=e.target.id; 如果!分钟{ 分钟数=Numbere.target.textContent-1; } 如果间隔==null{ 间隔=设置间隔开始计时器,1000 }否则{ 清晰间隔; 间隔=空; } } 功能启动器{ 秒-; $`${id}`.textminutes+':'+秒; 如果秒=0{ 秒=60; 分钟-; 如果分钟<0{ 清晰间隔; 警报“时间到了”; } } } 我的实验室 31 您可以维护一个标志isPaused,并在setInterval中检查其值,并在每次单击时切换其值

$document.readyfunction{ 让isPaused=true; 设时间=0; 让countdownTime=31*60*1000; let timer=setInterval=>{ 如果!我有理由{ 停机时间-=1000; 设min=Math.floorcountdownTime/60*1000; 设sec=Math.floorcountdownTime-min*60*1000/1000; 如果倒计时停机 我的实验室 31 您可以维护一个标志isPaused,并在setInterval中检查其值,并在每次单击时切换其值

$document.readyfunction{ 让isPaused=true; 设时间=0; 让countdownTime=31*60*1000; let timer=setInterval=>{ 如果!我有理由{ 停机时间-=1000; 设min=Math.floorcountdownTime/60*1000; 设sec=Math.floorcountdownTime-min*60*1000/1000; 如果倒计时停机 我的实验室 31 $document.readyfunction{ var秒=60; var区间; var分钟,id; 函数倒计时{ 间隔=设置间隔函数{ 秒-; 如果秒=0{ 秒=60; 分钟-; 如果分钟<0{ 清晰间隔; 警报“时间到了”; $'clock'。文本'00:00'; } } var sec_out='0'+秒; sec_out=sec_out.substrsec_out.length-2;//对于05或03秒。。。 var min_out='0'+分钟; min\u out=min\u out.substrmin\u out.length-2;//对于05或03分钟。。。 $'clock'.textmin_out+':'+秒_out; },10;//10例如更改为1000 } $“时钟”。单击功能{ 如果!间隔{ //用于启动计时器 var this_val=$this.text; var this_val_first=this_val.split':'[0]; this_val_first=parseIntthis_val_first,10; 分钟=这是第一次; 倒计时; }否则{ //停止计时器 清晰间隔; 间隔=空; } }; }; 31 $document.readyfunction{ var秒=60; var区间; var分钟,id; 函数倒计时{ 间隔=设置间隔函数{ 秒-; 如果秒=0{ 秒=60; 分钟-; 如果分钟<0{ 清晰间隔; 警报“时间到了”; $'clock'。文本'00:00'; } } var sec_out='0'+秒; sec_out=sec_out.substrsec_out.length-2;//对于05或03秒。。。 var min_out='0'+分钟; min\u out=min\u out.substrmin\u out.length-2;//对于05或03分钟。。。 $'clock'.textmin_out+':'+秒_out; },10;//10例如更改为1000 } $“时钟”。单击功能{ 如果!间隔{ //用于启动计时器 var this_val=$this.text; var this_val_first=this_val.split':'[0]; this_val_first=parseIntthis_val_first,10; 分钟=这是第一次; 倒计时; }否则{ //停止计时器 清晰间隔; 间隔=空; } }; }; 31
你能解释一下为什么用if!分钟{}分钟=31-1号;当您暂停计时器并再次启动时,分钟数将类似于分钟数=30:59-1;这等于NaN,您不能将30:59转换为数字。如果您要将休息计时器设置为原始时间31,则请将分钟数设置为null,间隔时间设置为null。您能否解释一下为什么使用If!分钟{}分钟=31-1号;当您暂停计时器并再次启动时,分钟数将类似于分钟数=30:59-1;这等于NaN,您不能将30:59转换为数字。如果您要将静止计时器设置为原始时间31,则请将分钟数设置为null,间隔时间设置为null。感谢您的工作解决方案,这对我来说更高级。感谢您的工作解决方案,这对我来说更高级。