jQuery - clearInterval似乎不起作用

Dea*_*ean 0 jquery if-statement intervals clearinterval

长话短说:如果间隔计数超过5,则代码应清除间隔,阻止它每秒执行该功能.但这似乎不起作用.

HTML

<div id='feedback'></div>
Run Code Online (Sandbox Code Playgroud)

JavaScript/jQuery

window.intervalcount = 0;

var interval = setInterval(function () {
    intervalcount += 1;
    $("#feedback").text(intervalcount);
}, 1000);

if(intervalcount > 5) {
    clearInterval(interval);
}
Run Code Online (Sandbox Code Playgroud)

但我似乎无法找到问题......

Phi*_*esi 6

所以目前,你的代码将运行类似这样的顺序:

window.intervalcount = 0;

// Interval is defined here
var interval = setInterval(function () {
    intervalcount += 1;
    $("#feedback").text(intervalcount);
}, 1000);

// will be 0 still
if(intervalcount > 5) {
    clearInterval(interval);
}

// 1 second after the interval is defined:
    intervalcount += 1; // now equals 1
    $("#feedback").text(intervalcount);

// 2 seconds after defined:

    intervalcount += 1; // now equals 2
    $("#feedback").text(intervalcount);

// etc, forever
Run Code Online (Sandbox Code Playgroud)

放置:

if(intervalcount > 5) {
    clearInterval(interval);
}
Run Code Online (Sandbox Code Playgroud)

在区间的功能内将执行您想要的行为.