11-12-2006, 09:58 AM
Bonjour, je souhaiterai vous exposer mon problème et peut être pourriez vous m'aider à trouver une solution.
Je développe actuelement un jeu en PHP avec la technologie AJAX.
Dans une de mes page de gestion des batiments en construction, au chargement de la page un script appelé de manière asynchrone recupere le temps restant avant la fin de la construction et l'envoie en paramètre à une fonction JS qui décrémente un compteur (compteur utilisant le setTimeOut() JS).
des onglets sur le coté de la page permettent de changer la rubrique de gestion toujours de manière asynchrone. En changeant de rubrique la zone du compteur est elle aussi actualisée.
Là ou se situe le problème, c'est que comme le javascript continue à s'exécuter jusqu'a la fin de la fonction/boucle ou jusqu'a ce que le navigateur soit fermé, lorsque je change de rubrique la fonction de décrémentation du compteur se réinstancie et le compteur se décrémente deux fois plus vite, et ainsi de suite...
du fait de la modification asynchrone via ajax du div contenant la zone d'affichage du compteur, la page n'est pas rechargée et donc le script JS n'est pas réinitialisé, j'ai bien du mal à trouver une solution à mon problème.
si vous pouviez m'aider je vous en serait éternellement reconnaissant :respect:
Je développe actuelement un jeu en PHP avec la technologie AJAX.
Dans une de mes page de gestion des batiments en construction, au chargement de la page un script appelé de manière asynchrone recupere le temps restant avant la fin de la construction et l'envoie en paramètre à une fonction JS qui décrémente un compteur (compteur utilisant le setTimeOut() JS).
des onglets sur le coté de la page permettent de changer la rubrique de gestion toujours de manière asynchrone. En changeant de rubrique la zone du compteur est elle aussi actualisée.
Là ou se situe le problème, c'est que comme le javascript continue à s'exécuter jusqu'a la fin de la fonction/boucle ou jusqu'a ce que le navigateur soit fermé, lorsque je change de rubrique la fonction de décrémentation du compteur se réinstancie et le compteur se décrémente deux fois plus vite, et ainsi de suite...
du fait de la modification asynchrone via ajax du div contenant la zone d'affichage du compteur, la page n'est pas rechargée et donc le script JS n'est pas réinitialisé, j'ai bien du mal à trouver une solution à mon problème.
si vous pouviez m'aider je vous en serait éternellement reconnaissant :respect: