4

我正在使用 setInterval 来检查 ap(html 段落) 是否具有特定的文本值。如果它有它我想清除间隔继续代码流。我在 jQuery 插件中使用它,所以如果段落有 tat 文本值,我想清除间隔,然后继续使用回调函数。所以我尝试了这样的事情:

var checkTextValue = setInterval(function(){
                          var textVal = $('p').text();
                          if(textVal == 'expectedValue'){
                              clearInterval(checkTextValue);
                              callback();
                          } 
                     },10);

回调函数是一个简单的警报。我的问题是警报被无休止地调用。我怎样才能编写我的代码来做到这一点?谢谢。

4

1 回答 1

8

使用 setTimeout 而不是 setInterval。

就像是:

var checkTextValue = setTimeout(function() {
    var textVal = $('p').text();
    if (textVal == 'expectedValue'){
        callback();
    } else {
        setTimeout(arguments.callee, 10);
    }
},10);
于 2009-10-26T18:34:29.697 回答