Frage

i setInterval bin mit zu überprüfen, ob ein p (html Absatz) einen bestimmten Text Wert hat. wenn sie es hat möchte ich Intervall löschen ein Code Fluss fortzusetzen. Ich verwende diese in einer jQuery-Plugin so, wenn der Absatz tut Textwert hat i Intervall gelöscht werden soll und dann mit einer Callback-Funktion fortzusetzen. so habe ich versucht, so etwas wie folgt aus:

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

und die Callback-Funktion ist es eine einfache Benachrichtigung. Mein Problem ist, dass der Alarm endlos genannt wird. Wie kann ich schreibe meinen Code, es richtig zu tun? Vielen Dank.

War es hilfreich?

Lösung

Verwenden SetTimeout statt setInterval.

So etwas wie:

var checkTextValue = setTimeout(function() {
    var textVal = $('p').text();
    if (textVal == 'expectedValue'){
        callback();
    } else {
        setTimeout(arguments.callee, 10);
    }
},10);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top