Disons que je fais:Javascript - Jquery .load() et setInterval() question
$("#content").load(...);
Dans ce que je suis chargement javascript est inclus:
var myCounter = 0;
var myInterval = setInterval(function(){
myCounter++;
$("#counter-display").html("Count: "+myCounter);
});
Pour une raison inconnue , si je recharge le contenu avec $ ("# content"). load (...); - myInterval est maintenant appelé deux fois.
J'ai essayé de faire quelque chose comme:
if (myInterval !== undefined){
//dont set interval again
}
Cependant, cela ne fonctionne pas. Est-ce que quelqu'un connaît une méthode quelconque pour que myInterval soit effacé sur .load, sans avoir besoin de mettre le javascript en dehors du fichier chargé?
J'ai pensé faire cela au début, mais je voulais essayer une méthode sans avoir besoin de récupérer la valeur du code HTML à chaque fois. Cependant, cela fonctionne mieux alors je vais l'utiliser. Merci! – Joe
Après d'autres tests, bien que cette méthode mots pour mettre à jour le compte affiché, lorsque vous essayez d'utiliser ce compte dans le script, il se dédouble encore. Je n'ai pas trouvé de solution, sinon mettre mon script en dehors du contenu chargé (par exemple sur la page où je fais le .load()). – Joe
@Joe: Vous êtes probablement en train de recréer l'élément '@ counter-display'. Placez les données dans un élément qui n'est pas remplacé. – SLaks