如果计数为3,我想终止使用setInterval创建的间隔。我尝试了以下代码,但未在alert块内调用if。为什么?我的比较不正确还是其他错误? $(window).load(function() { var timerId = 1; timerId = window.setInterval(function() { timerId = timerId + 1; if(timerId == '3') { alert(timerId); clearInterval(timerId); } }, 2000); }); 最佳答案 尝试不对所有内容使用相同的变量$(window).load(function() { var timerNum = 1, timerId = window.setInterval(function(){ timerNum++; if( timerNum == 3 ){ clearInterval(timerId); } }, 2000);});您不能对计数和间隔使用相同的变量,计数是每次间隔中的回调执行时您自己更新的东西,而setInterval函数返回唯一的ID,该ID以后可传递给清除该特定间隔,并通过用您的号码覆盖该ID,唯一ID将丢失,并且该间隔将无法再清除。关于javascript - 无法清除间隔,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22131047/
10-10 05:27