Suppress° des "s" aux H:min:sec cpte a rebour
Résolu
PITCHOUNE
-
PITCHOUNE -
PITCHOUNE -
Bonjour,
Je reviens vous solliciter a nouveau pour modifier l'affichage de mon compte a rebours.
Celui-ci fonctionne mais je souhaite le perfectionner et retirer les "s" a jours, heures, minutes et secondes quand il n'y a pas besoin.
je vous remercie a l'avance pour le temps consacre.
Je vous joins mon script ci-dessous:
<label id="Compte"></label>
<script type="text/JavaScript">
var Affiche=document.getElementById("Compte");
function Rebour() {
var date1 = new Date();
var date2 = new Date ("Nov 26 00:00:00 2010");
var sec = (date2 - date1) / 1000;
var n = 24 * 3600;
if (sec > 0) {
j = Math.floor (sec / n);
h = Math.floor ((sec - (j * n)) / 3600);
mn = Math.floor ((sec - ((j * n + h * 3600))) / 60);
sec = Math.floor (sec - ((j * n + h * 3600 + mn * 60)));
Affiche.innerHTML = " " + j +" jours "+ h +" heures "+ mn +" minutes "+ sec + " secondes ";
window.status = " " + j +" j "+ h +" h "+ mn +" min "+ sec + " s ";
}
tRebour=setTimeout ("Rebour();", 1000);
}
Rebour();
document.getElementById('Compte').innerHTML="Mon texte !";
</script>
Je reviens vous solliciter a nouveau pour modifier l'affichage de mon compte a rebours.
Celui-ci fonctionne mais je souhaite le perfectionner et retirer les "s" a jours, heures, minutes et secondes quand il n'y a pas besoin.
je vous remercie a l'avance pour le temps consacre.
Je vous joins mon script ci-dessous:
<label id="Compte"></label>
<script type="text/JavaScript">
var Affiche=document.getElementById("Compte");
function Rebour() {
var date1 = new Date();
var date2 = new Date ("Nov 26 00:00:00 2010");
var sec = (date2 - date1) / 1000;
var n = 24 * 3600;
if (sec > 0) {
j = Math.floor (sec / n);
h = Math.floor ((sec - (j * n)) / 3600);
mn = Math.floor ((sec - ((j * n + h * 3600))) / 60);
sec = Math.floor (sec - ((j * n + h * 3600 + mn * 60)));
Affiche.innerHTML = " " + j +" jours "+ h +" heures "+ mn +" minutes "+ sec + " secondes ";
window.status = " " + j +" j "+ h +" h "+ mn +" min "+ sec + " s ";
}
tRebour=setTimeout ("Rebour();", 1000);
}
Rebour();
document.getElementById('Compte').innerHTML="Mon texte !";
</script>
A voir également:
- Suppress° des "s" aux H:min:sec cpte a rebour
- Télécharger logiciel dvr h 264 gratuit - Télécharger - Sécurité
- Dimension l x l x h - Forum Photoshop
- Excite mobile h ✓ - Forum Vos droits sur internet
- Fichier h - Forum Programmation
- Convertisseur watt en km/h - Forum Matériel & Système
14 réponses
Bon, voici le code :
Quelques explications :
-document.getElementById ne fonction que si <form> et <body> sont déclarés
-on appel Rebour() dans le js, et le settimeout dans la function Rebour... car settimeout appel une seule fois la function passée en argument tous les X milisecondes.
-Mise à jours de "compte" par "temps écoulé" quand c'est fini
Voili voilà...
Testé, et approuvé ;)
N'hésitez pas à poser des questions, il vaut mieux être con 5 min que le rester toute sa vie ;)
N'oubliez pas de mettre votre Post en 'Résolu' quand c'est le cas :-D
<FORM><body> <label id="Compte"></label> <script type='text/javascript'> var Affiche=document.getElementById("Compte"); var a,j,h,mn; var dateexpire = new Date ("Nov 29 11:28:00 2010"); var n = 24 * 3600; function Rebour() { var dateMaintenant = new Date(); var sec = (dateexpire - dateMaintenant) / 1000; if (sec > 1) { j = Math.floor (sec / n); h = Math.floor ((sec - (j * n)) / 3600); mn = Math.floor ((sec - ((j * n + h * 3600))) / 60); sec = Math.floor (sec - ((j * n + h * 3600 + mn * 60))); Affiche.innerHTML = " " + j +" jour" + S_ou_pas_s(j) + " " + h +" heure" + S_ou_pas_s(h) + " " + mn +" minute"+ S_ou_pas_s(mn) + " " + sec + " seconde" + S_ou_pas_s(sec); window.setTimeout("Rebour();",1000); }else{ Affiche.innerHTML ="Temps écoulé"; } } Rebour(); function S_ou_pas_s(nb){ if (nb>1){ return "s";} else{ return "";} } </script> </body></form>
Quelques explications :
-document.getElementById ne fonction que si <form> et <body> sont déclarés
-on appel Rebour() dans le js, et le settimeout dans la function Rebour... car settimeout appel une seule fois la function passée en argument tous les X milisecondes.
-Mise à jours de "compte" par "temps écoulé" quand c'est fini
Voili voilà...
Testé, et approuvé ;)
N'hésitez pas à poser des questions, il vaut mieux être con 5 min que le rester toute sa vie ;)
N'oubliez pas de mettre votre Post en 'Résolu' quand c'est le cas :-D
Salut,
Un simple if devrait régler ton problème. Si il y'a plusieurs secondes/minutes/heures/jours, on mets un S, sinon, on n'en met pas.
Cordialement--
Si un jour, l'envie de travailler te prends, assied-toi et attends que ca passe ...
Les boulets, on ne les aime que dans les quotes ! Merci
Un simple if devrait régler ton problème. Si il y'a plusieurs secondes/minutes/heures/jours, on mets un S, sinon, on n'en met pas.
Cordialement--
Si un jour, l'envie de travailler te prends, assied-toi et attends que ca passe ...
Les boulets, on ne les aime que dans les quotes ! Merci
Je ne suis pas un pro du JavaScript, désolé. J'avais trouvé un script de compte à rebours sur le net que j'avais légèrement modifié pour qu'il tourne comme je veux.
Si tu veux, je peux te l'envoyer en entier, mais je suis incapable de te donner LE bout de code qu'il te faut.
Cordialement
Si tu veux, je peux te l'envoyer en entier, mais je suis incapable de te donner LE bout de code qu'il te faut.
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Moi non plus je ne suis pas experte en la matiere .. je veux bien que tu m'envoyes ton script, je pourrais le comparer avec ce que j'ai deja.
Merci encore pour ta reponse rapide.
Merci encore pour ta reponse rapide.
Bonjour :)
et voili :)
<label id="Compte"></label> <script type="text/JavaScript"> var Affiche=document.getElementById("Compte"); function Rebour() { var date1 = new Date(); var date2 = new Date ("Nov 26 00:00:00 2010"); var sec = (date2 - date1) / 1000; var n = 24 * 3600; if (sec > 0) { j = Math.floor (sec / n); h = Math.floor ((sec - (j * n)) / 3600); mn = Math.floor ((sec - ((j * n + h * 3600))) / 60); sec = Math.floor (sec - ((j * n + h * 3600 + mn * 60))); Affiche.innerHTML = " " + j +" jour " + S_ou_pas_s(j) + h +" heure " + S_ou_pas_s(h) + mn +" minute "+ S_ou_pas_s(mn) + sec + " seconde " + S_ou_pas_s(sec); window.status = " " + j +" j "+ h +" h "+ mn +" min "+ sec + " s "; } tRebour=setTimeout ("Rebour();", 1000); } Rebour(); document.getElementById('Compte').innerHTML="Mon texte !"; </script> fonction S_ou_pas_s(nb){ if (nb<10){ return "s";} else{ return"";} }
et voili :)
Bonsoir Jjsteing,
Je viens de lire ton message et te remercie pour ton aide et ton script mais celui-ci ne fonctionne pas. Lorsque je rajoute le script correspondant a la suppression des "s"a la fin du script deja existant, celui-ci affiche directement le script :
"fonction S_ou_pas_s(nb){
if (nb<10){
return "s";}
else{
return"";}
}
apres le compte a rebours.
Est-ce que l'emplacement est correct?
Merci pour ton aide
Je viens de lire ton message et te remercie pour ton aide et ton script mais celui-ci ne fonctionne pas. Lorsque je rajoute le script correspondant a la suppression des "s"a la fin du script deja existant, celui-ci affiche directement le script :
"fonction S_ou_pas_s(nb){
if (nb<10){
return "s";}
else{
return"";}
}
apres le compte a rebours.
Est-ce que l'emplacement est correct?
Merci pour ton aide
Bonsoir jjsteing,
Merci pour ton message, j''ai modifie mais cela ne fonctionne tjrs pas.
J'ai tjrs le script qui s'affiche apres mon cpte a rebours.
Merci pour ton aide
Merci pour ton message, j''ai modifie mais cela ne fonctionne tjrs pas.
J'ai tjrs le script qui s'affiche apres mon cpte a rebours.
Merci pour ton aide
<label id="Compte"></label>
<script type="text/JavaScript">
var Affiche=document.getElementById("Compte");
function Rebour() {
var date1 = new Date();
var date2 = new Date ("Nov 26 00:00:00 2010");
var sec = (date2 - date1) / 1000;
var n = 24 * 3600;
if (sec > 0) {
j = Math.floor (sec / n);
h = Math.floor ((sec - (j * n)) / 3600);
mn = Math.floor ((sec - ((j * n + h * 3600))) / 60);
sec = Math.floor (sec - ((j * n + h * 3600 + mn * 60)));
Affiche.innerHTML = " " + j +" jour " + S_ou_pas_s(j) + h +" heure " + S_ou_pas_s(h) + mn +" minute "+ S_ou_pas_s(mn) + sec + " seconde " + S_ou_pas_s(sec);
window.status = " " + j +" j "+ h +" h "+ mn +" min "+ sec + " s ";
}
tRebour=setTimeout ("Rebour();", 1000);
}
Rebour();
document.getElementById('Compte').innerHTML="Mon texte !";
</script>
<script type="text/JavaScript">
var Affiche=document.getElementById("Compte");
function Rebour() {
var date1 = new Date();
var date2 = new Date ("Nov 26 00:00:00 2010");
var sec = (date2 - date1) / 1000;
var n = 24 * 3600;
if (sec > 0) {
j = Math.floor (sec / n);
h = Math.floor ((sec - (j * n)) / 3600);
mn = Math.floor ((sec - ((j * n + h * 3600))) / 60);
sec = Math.floor (sec - ((j * n + h * 3600 + mn * 60)));
Affiche.innerHTML = " " + j +" jour " + S_ou_pas_s(j) + h +" heure " + S_ou_pas_s(h) + mn +" minute "+ S_ou_pas_s(mn) + sec + " seconde " + S_ou_pas_s(sec);
window.status = " " + j +" j "+ h +" h "+ mn +" min "+ sec + " s ";
}
tRebour=setTimeout ("Rebour();", 1000);
}
Rebour();
document.getElementById('Compte').innerHTML="Mon texte !";
</script>
Bonjour,
cela ne fonctionne tjrs pas. Est-ce qu'avec un script en if cela marcherait-il mieux comme :
if(days != 0){out += days +" day"+((days!=1)?"s":"")+", ";}
if(days != 0 || hours != 0){out += hours +" hour"+((hours!=1)?"s":"")+", ";}
if(days != 0 || hours != 0 || mins != 0){out += mins +" minute"+((mins!=1)?"s":"")+", ";}
out += secs +" seconds";
le pb etant que je ne sais pas ou l'integrer dans mon script.
Qu'en penses-tu??
cela ne fonctionne tjrs pas. Est-ce qu'avec un script en if cela marcherait-il mieux comme :
if(days != 0){out += days +" day"+((days!=1)?"s":"")+", ";}
if(days != 0 || hours != 0){out += hours +" hour"+((hours!=1)?"s":"")+", ";}
if(days != 0 || hours != 0 || mins != 0){out += mins +" minute"+((mins!=1)?"s":"")+", ";}
out += secs +" seconds";
le pb etant que je ne sais pas ou l'integrer dans mon script.
Qu'en penses-tu??
Ah non !!
ca vient de la balise </script> que tu doit mettre après ma function... (déplace la)
Que j suis nul parfois !!!
Bon, apparement, ca marche quand meme pas :(
Je te regarde ce bout de code ce soir...
@++
N'hésitez pas à poser des questions, il vaut mieux être con 5 min que le rester toute sa vie ;)
N'oubliez pas de mettre votre Post en 'Résolu' quand c'est le cas :-D
ca vient de la balise </script> que tu doit mettre après ma function... (déplace la)
Que j suis nul parfois !!!
Bon, apparement, ca marche quand meme pas :(
Je te regarde ce bout de code ce soir...
@++
N'hésitez pas à poser des questions, il vaut mieux être con 5 min que le rester toute sa vie ;)
N'oubliez pas de mettre votre Post en 'Résolu' quand c'est le cas :-D
Bonjour jjsteing,
Je n'ai pas eu le temps auparavant de regarder ton script et finalement celui-ci marche !!!
Je suis super contente !!
Je te remercie bcp pour ton aide et ta patience.
Je met cette discussion en resolue !!
Je n'ai pas eu le temps auparavant de regarder ton script et finalement celui-ci marche !!!
Je suis super contente !!
Je te remercie bcp pour ton aide et ta patience.
Je met cette discussion en resolue !!
Bonjour,
Je reviens sur ce forum !!
j'ai un autre probleme d'affichage mainteant.
En fait j'ai plusieurs comptes a rebours sur une meme page mais seulement un seul defile correctement. Les autres restent figes. Je ne sais ce qu'il faut modifier.
Est-ce que qqn pourrait m'aider. j'ai beau chercher lsur le net mais je ne trouve absolument rien qui puisse m'aider. Il semblerait que cela provienne d'une fonction qui empeche les autres de fonctionner.
Voila mon script :
<label id="Compte1"></label>
<script type='text/javascript'>
var Affiche=document.getElementById("Compte1");
var a,j,h,mn;
var dateexpire = new Date ("Dec 19 00:00:00 2010");
var n = 24 * 3600;
function Rebour() {
var dateMaintenant = new Date();
var sec = (dateexpire - dateMaintenant) / 1000;
if (sec > 1) {
j = Math.floor (sec / n);
h = Math.floor ((sec - (j * n)) / 3600);
mn = Math.floor ((sec - ((j * n + h * 3600))) / 60);
sec = Math.floor (sec - ((j * n + h * 3600 + mn * 60)));
Affiche.innerHTML = " " + j +" jour" + S_ou_pas_s(j) + " " + h +" heure" + S_ou_pas_s(h) + " " + mn +" minute"+ S_ou_pas_s(mn) + " " + sec + " seconde" + S_ou_pas_s(sec);
var timer =setInterval('Rebour()',1000);
}else{
Affiche.innerHTML ="Cette Vente est maintenant terminée !";
}
}
Rebour();
function S_ou_pas_s(nb){
if (nb>1){
return "s";}
else{
return "";}
}
</script>
Je reviens sur ce forum !!
j'ai un autre probleme d'affichage mainteant.
En fait j'ai plusieurs comptes a rebours sur une meme page mais seulement un seul defile correctement. Les autres restent figes. Je ne sais ce qu'il faut modifier.
Est-ce que qqn pourrait m'aider. j'ai beau chercher lsur le net mais je ne trouve absolument rien qui puisse m'aider. Il semblerait que cela provienne d'une fonction qui empeche les autres de fonctionner.
Voila mon script :
<label id="Compte1"></label>
<script type='text/javascript'>
var Affiche=document.getElementById("Compte1");
var a,j,h,mn;
var dateexpire = new Date ("Dec 19 00:00:00 2010");
var n = 24 * 3600;
function Rebour() {
var dateMaintenant = new Date();
var sec = (dateexpire - dateMaintenant) / 1000;
if (sec > 1) {
j = Math.floor (sec / n);
h = Math.floor ((sec - (j * n)) / 3600);
mn = Math.floor ((sec - ((j * n + h * 3600))) / 60);
sec = Math.floor (sec - ((j * n + h * 3600 + mn * 60)));
Affiche.innerHTML = " " + j +" jour" + S_ou_pas_s(j) + " " + h +" heure" + S_ou_pas_s(h) + " " + mn +" minute"+ S_ou_pas_s(mn) + " " + sec + " seconde" + S_ou_pas_s(sec);
var timer =setInterval('Rebour()',1000);
}else{
Affiche.innerHTML ="Cette Vente est maintenant terminée !";
}
}
Rebour();
function S_ou_pas_s(nb){
if (nb>1){
return "s";}
else{
return "";}
}
</script>