Timer qui saute des secondes voir minutes - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Timer qui saute des secondes voir minutes (/showthread.php?tid=296) |
Timer qui saute des secondes voir minutes - Kurogane - 05-01-2011 Bonjour, Alors un petit problème de javascript sur ce code :
Le contexte, ce timer intervient quand une construction est en cours, afin d'afficher le temps restant, ce script est rappelé chaque seconde. Le problème vient qu'il passe en général les 09 à 59. Je pense que cela vient des lignes :
Mais je ne vois pas l'erreur :triste3: Merci d'avance. RE: Timer qui saute des secondes voir minutes - Hideaki - 05-01-2011 Modifie :
par :
Cela devrait fonctionner sans problème. Petit conseil en passant : attention au nom de tes variables RE: Timer qui saute des secondes voir minutes - Kurogane - 05-01-2011 Les If imbriquées n'influent pas le timer. Il s'agit de recharger la page pour que le code php finalise la construction. ^^ RE: Timer qui saute des secondes voir minutes - Hideaki - 05-01-2011 Oui effectivement je n'avais pas prêté attention. Ton code n'indique pas l'appel de ton timer, le problème peut aussi venir de là Même si cela n'a rien avoir, j'éviterais de réduire de 1 seconde à chaque appel préférant utiliser l'objet Date. Si le navigateur de la personne est un peu lente, il va y avoir une mauvaise synchronisation entre la date afficher et la fin de ta construction. RE: Timer qui saute des secondes voir minutes - NicoMSEvent - 05-01-2011 et si il se déconnecte avant d'avoir terminé sa construction? Le fait de gérer ça coté client n'est pas une excellente idée... RE: Timer qui saute des secondes voir minutes - Holy - 05-01-2011 Deux choses : 1. Tu devrais commenter ton code 2. Utilise alert() ou windows.write() pour savoir ce que valent tes variables après chaque modification, ça permettra de savoir à quelle étape ça saute. 3. C'est plus que probablement un problème avec parseInt (bug javascript) que tu peux remplacer par parseFloat RE: Timer qui saute des secondes voir minutes - Kurogane - 05-01-2011 Merci à vous, Et surtout à toi Holy, Ton numéro 3 est correct. Le probléme venait de la fonction parseInt qui est buggé pour la chaine '08'. La Solution consiste à forcer le parseInt en base 10 ==>
@Hideaki : Le temps utiliser comme départ du timer est celui qu'il reste avant la fin de la construction. Il est calculer par le php à partir de l'enregistrement de construction et le temps actuel du serveur. Ce script est appelé par une autre page où se trouve le "SetTimeout". Ayant Besoin de plusieurs timer à la fois ( un par construction en cours ) je charge ce script et règle mes SetTimeout Dynamiquement. @NicoMSEvent : Le Javascript ne valide pas la fin de la construction , il fait recharger la page quand le temps restant est à 0. C'est une fonction php appelé dans le début de la page qui se charge de vérifier si des construction sur le compte sont à finaliser ou pas. Voila, Merci de votre aide, car le bug du parseInt ne me serait jamais venu à l'esprit. J'ai retravaillé le script en m'apercevant que je le compliquer inutilement :
Et cela fonctionne impec ^^ |