似乎无法停止功能间隔

时间:2019-08-10 11:34:50

标签: javascript function return

我目前正在将setInterval用于另一个函数,以每秒将变量的分数提高1。变量达到10后,我希望停止增量,并清除间隔。

问题在于,当分数达到10时,间隔不会被清除。我仍然每隔1秒就获得一次“重置”的console.log。当我检出speechCounterInterval时,在console.log中显示“ undefined”似乎很奇怪。

这是启动间隔的功能。当我启动它时,它将计数器重置为0,然后运行间隔。

var speechTimeCounter = 0;
var speechCounterInterval;

function talkToMe() {
   speechTimeCounter = 0;
   var speechCounterInterval = setInterval(increaseSpeechTimeCounter, 1000);
   openQuoteMenu();
   var namePosition = stats.stage - 1;
   var selectQuote = Math.floor(Math.random() * monNameList[namePosition].quotes.length);
   var selectedQuote = monNameList[namePosition].quotes[selectQuote];
   console.log(selectedQuote);
   digiQuoteText.innerHTML = "\u0022" + selectedQuote + "\u0022";
 }

这是增加分数的功能:

 function increaseSpeechTimeCounter() {
   if (speechTimeCounter < 5) {
       speechTimeCounter += 1;
       console.log(speechTimeCounter);
       clearInterval(speechCounterInterval);
   } else if (speechTimeCounter >= 5) {
       console.log(speechTimeCounter + "Reset");
       closeQuoteMenu();
       clearInterval(speechCounterInterval);
       return;
   }
   return;
 }

谢谢!

0 个答案:

没有答案