質問

iはsetIntervalを使用して、p(html段落)に特定のテキスト値があるかどうかを確認しています。それがあれば、コードフローを継続する間隔をクリアしたいです。私はjQueryプラグインでこれを使用しているので、段落にtatテキスト値がある場合、間隔をクリアしてからコールバック関数を続行します。 だから私はこのようなものを試しました:

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

およびコールバック関数は、単純なアラートです。 私の問題は、アラートが無限に呼び出されることです。正しく行うためにコードを書くにはどうすればよいですか?ありがとう。

役に立ちましたか?

解決

setIntervalの代わりにsetTimeoutを使用します。

次のようなもの:

var checkTextValue = setTimeout(function() {
    var textVal = $('p').text();
    if (textVal == 'expectedValue'){
        callback();
    } else {
        setTimeout(arguments.callee, 10);
    }
},10);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top