J'utilise setInterval pour vérifier si un p (paragraphe html) a une certaine valeur de texte. si elle l'a, je veux effacer l'intervalle d'un flux de code continue. J'utilise ceci dans un plugin jQuery donc si le paragraphe a une valeur de texte tat je veux effacer l'intervalle et ensuite continuer avec une fonction de rappel. donc j'ai essayé quelque chose comme ceci:javascript/jQuery setInterval/clearInterval
var checkTextValue = setInterval(function(){
var textVal = $('p').text();
if(textVal == 'expectedValue'){
clearInterval(checkTextValue);
callback();
}
},10);
et la fonction de rappel, il est une simple alerte. Mon problème est que l'alerte est appelée indéfiniment. Comment puis-je écrire mon code pour le faire correctement? Merci.
C'est un vieux problème, mais ... Je ne peux pas repro ce (http://jsfiddle.net/gc97D/), et je ne vois aucune raison pourquoi cela ne fonctionnerait pas. Je pense qu'il doit y avoir autre chose. La façon la plus simple de voir ce qui se passe est de a) supprimer votre callback, b) console.log la valeur de checkTextValue/outside/la fonction, et c) console.log la valeur de checkTextValue/inside/la fonction. Vous voudrez probablement augmenter la minuterie à quelque chose de plus grand que 10, aussi. – Max