Compte à rebours javascript ne marche pas
chuckichucki
-
xamurai Messages postés 223 Date d'inscription Statut Membre Dernière intervention -
xamurai Messages postés 223 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voudrais afficher 2 comptes à rebours en javascript sur ma page.
Voici le code source tel qu'il apparait, mais cela ne marche pas. Le compte à rebours n'apparait pas. Savez vous pourquoi ?
Merci
Je voudrais afficher 2 comptes à rebours en javascript sur ma page.
Voici le code source tel qu'il apparait, mais cela ne marche pas. Le compte à rebours n'apparait pas. Savez vous pourquoi ?
<span id="rebours0"></span> <span id="rebours1"></span> <script type="text/javascript"> function chrono(){ var secon0=46 ;//initialise les secondes var minu0=54; //initialise les minutes var heur0=13; //initialise les heures if (secon0 != 0 || minu0 != 0 || heur0 != 0){// si on n'atteind pas 00:00:00 secon0--; if (secon0<0){secon0=59; if (minu0 >0){ minu0--}else{minu0=59; heur0--;} } if (secon0 < 10 ){ secondes0 = '0'+secon0;}else {secondes0 = secon0;} if (minu0 < 10 ) {minutes0 = '0'+minu0;}else {minutes0 = minu0;} if (heur0 < 10 ) {heures0 = '0'+heur0;}else {heures0 = heur0;} document.getElementById('rebours0').innerHTML = heures0+' heures '+minutes0+' minutes '+secondes0+' secondes ' ; var secon1=46 ;//initialise les secondes var minu1=54; //initialise les minutes var heur1=13; //initialise les heures if (secon1 != 0 || minu1 != 0 || heur1 != 0){// si on n'atteind pas 00:00:00 secon1--; if (secon1<0){secon1=59; if (minu1 >0){ minu1--}else{minu1=59; heur1--;} } if (secon1 < 10 ){ secondes1 = '0'+secon1;}else {secondes1 = secon1;} if (minu1 < 10 ) {minutes1 = '0'+minu1;}else {minutes1 = minu1;} if (heur1 < 10 ) {heures1 = '0'+heur1;}else {heures1 = heur1;} document.getElementById('rebours1').innerHTML = heures1+' heures '+minutes1+' minutes '+secondes1+' secondes ' ; } compte=setTimeout('chrono()',1000) //la fonction est relancée tous les secondes chrono(); </script>
Merci
A voir également:
- Compte à rebours javascript ne marche pas
- Créer un compte google - Guide
- Installer windows 10 sans compte microsoft - Guide
- Créer un compte gmail - Guide
- Comment savoir qui regarde mon compte facebook - Guide
- Créer un compte instagram sur google - Guide
3 réponses
essaye ceci:
ta fonction reinitialise les variables à chaque appel.
en plus les conditions ne sont pas fermées convenablement:
ta fonction reinitialise les variables à chaque appel.
en plus les conditions ne sont pas fermées convenablement:
var secon0=46 ;//initialise les secondes var minu0=54; //initialise les minutes var heur0=13; //initialise les heures var secon1=46 ;//initialise les secondes var minu1=54; //initialise les minutes var heur1=13; //initialise les heures function chrono(){ if (secon0 != 0 || minu0 != 0 || heur0 != 0){// si on n'atteind pas 00:00:00 secon0--; if (secon0<0){secon0=59; if (minu0 >0){ minu0--}else{minu0=59; heur0--;} } if (secon0 < 10 ){ secondes0 = '0'+secon0;}else {secondes0 = secon0;} if (minu0 < 10 ) {minutes0 = '0'+minu0;}else {minutes0 = minu0;} if (heur0 < 10 ) {heures0 = '0'+heur0;}else {heures0 = heur0;} document.getElementById('rebours0').innerHTML = heures0+' heures '+minutes0+' minutes '+secondes0+' secondes ' ; if (secon1 != 0 || minu1 != 0 || heur1 != 0){// si on n'atteind pas 00:00:00 secon1--; if (secon1<0){secon1=59; if (minu1 >0){ minu1--}else{minu1=59; heur1--;} } if (secon1 < 10 ){ secondes1 = '0'+secon1;}else {secondes1 = secon1;} if (minu1 < 10 ) {minutes1 = '0'+minu1;}else {minutes1 = minu1;} if (heur1 < 10 ) {heures1 = '0'+heur1;}else {heures1 = heur1;} document.getElementById('rebours1').innerHTML = heures1+' heures '+minutes1+' minutes '+secondes1+' secondes ' ; } setTimeout(chrono,1000) //la fonction est relancée tous les secondes } } chrono();
sauf que ce code est plus propre:
var secon0=46 ;//initialise les secondes var minu0=54; //initialise les minutes var heur0=13; //initialise les heures var secon1=46 ;//initialise les secondes var minu1=54; //initialise les minutes var heur1=13; //initialise les heures secondes0 = heur0*3600 + minu0*60 + secon0; secondes1 = heur1*3600 + minu1*60 + secon1; function chrono(totalSecondes, tag){ if(totalSecondes >0) { tag.innerHTML = (Math.floor(totalSecondes/3600))+' heures '+(Math.floor( (totalSecondes%3600)/60 ))+' minutes '+(totalSecondes%60)+' secondes ' ; --totalSecondes; setTimeout(function(){chrono(totalSecondes, tag)},1000); } } chrono(secondes0 , document.getElementById("rebours0")); chrono(secondes1 , document.getElementById("rebours1"));
En fait je voudrais afficher 10 compte à rebours sur une page donc je fais des boucles php
Mais bizarrement ca buggue.
Pour trouver l'origine du bug j'ai repris ton code en essayant de mettre une 3eme entree. Voici le code ci-dessous
Désolé je suis vraiment nul en JavaScript et merci de ton aide.