Compte à rebours javascript

Fermé
Florianv Messages postés 1 Date d'inscription mardi 12 octobre 2010 Statut Membre Dernière intervention 12 octobre 2010 - 12 oct. 2010 à 17:13
dream666 Messages postés 735 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 24 février 2014 - 12 oct. 2010 à 23:36
Bonjour,
Tout d'abord je tiens à préciser que je suis complétement débutant en javascript (genre bricoleur du dimanche) donc soyez indulgent
Pour mon site j'ai besoin de créer en javascript un compte à rebours pour le début de la coupe du monde de rugby.
Jusqu'à la pas de problème, je me suis débrouillé avec mon ami google pour trouver et adapter un script.
Ce script affiche le compte à rebours sous la forme XXj XXh XXmin XXs mais je voudrais que lorsque je passe ma souris sur le compte à rebours, l'affichage du temps passe en secondes ( XXXXXXXXXXXXs) et là ça veut pas
En bon débutant que je suis j'ai bricolé un peu le code à toutes les sauces (onmouseover par ci par là pour voir) mais ça n'a jamais l'air d'être pris en compte
Je suppose que j'essaye d'interagir sur une fonction chargé au chargement de la page donc forcément les modifications ne sont pas mises en place.
Auriez-vous (s'il vous plait!!) une solution?

PS: mon code :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
    "http://www.w3.org/TR/html4/strict.dtd" 
    > 
<html lang="en"> 
<head> 
    <title><!-- Insert your title here --></title> 
    <script type="text/JavaScript"> 
    var Affiche = document.getElementById("Compte"); 
    var format; 
     
    function mouseover(){ 
        format="secondes"; 
        //alert(format); 
    } 
    function mouseout(){ 
        format="jours"; 
    } 
    function Rebour() { 
    var date1 = new Date(); 
    var date2 = new Date ("September 9 21:30:00 2011"); 
    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); 
            sec2 = Math.floor (sec - ((j * n + h * 3600 + mn * 60))); 
            if (format = "jours"){ 
                //document.getElementById("Compte").innerHTML = "Temps restant : " + j +" j "+ h +" h "+ mn +" min "+ sec2 + " s "; 
                //window.status = "Temps restant : " + j +" j "+ h +" h "+ mn +" min "+ sec2 + " s "; 
                    document.getElementById("Compte").innerHTML = "Temps restant : "+ Math.floor(sec) + " s "; 
                    window.status = "Temps restant : " + Math.floor(sec) + " s "; 
                } 
            else 
            { 
                document.getElementById("Compte").innerHTML = "Temps restant : "+ Math.floor(sec) + " s "; 
                window.status = "Temps restant : " + Math.floor(sec) + " s "; 
            } 
        } 
         
        else{ 
            document.getElementById("Compte").innerHTML = "Temps restant : 0j 00h 00min 00s"; 
            window.status = "Temps restant : 0j 00h 00min 00s"; 
        } 
    tRebour=setTimeout ("Rebour();", 1000); 
    } 
     
     
</script> 
    <style> 
    p{ 
        color: black; 
    } 
    </style> 
</head> 
<body onload="Rebour();"> 
     
    <label onmouseover="mouseover();" onmouseout="mouseout();" id="Compte"></label> 
     
 
 
</body> 
</html>



A voir également:

2 réponses

MastercroW Messages postés 1095 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
12 oct. 2010 à 20:09
Bonsoir,
Moi personnellement j'ai testé ton script, et sa m'indique le nombre de secondes restantes.
Et puis de toute façon je pense que sa gène personne que sa affiche sous XXj XXh XXmin XXs.
Enfin ceci était mon avis ;).
0
dream666 Messages postés 735 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 24 février 2014 104
12 oct. 2010 à 23:36
le code est a retravailler mai fonctionne
<SCRIPT language="javascript">


var decission=0;
function principal(){


if (decission==0){
document.getElementById("ID").innerHTML=setTimeTotalJours();
}

if (decission==1){
document.getElementById("ID").innerHTML=setTimeTotalSecondes();
}
if (decission==2){
document.getElementById("ID").innerHTML=setTimeTotalJours();
}


setTimeout("principal();",200)
}

function setTime2010(){
var dtJour = new Date();
var annee = dtJour.getFullYear();
var mois = dtJour.getMonth();
var jour = dtJour.getDate();
var heure = dtJour.getHours();
var minute = dtJour.getMinutes();
var seconde = dtJour.getSeconds();

var moisSecondes = (((((11-mois)*30.5)*24)*60)*60);
var jourSecondes = ((((31-jour)*24)*60)*60);
var heureSecondes = (((24-heure-1)*60)*60);
var minuteSecondes = ((59-minute)*60);
var secondeSecondes = (59-seconde);
var totalSecondes2010 = moisSecondes+jourSecondes+heureSecondes+minuteSecondes+secondeSecondes;
return totalSecondes2010;
}


function setTimeTotalSecondes(){
var dtJour = new Date();
var annee = dtJour.getFullYear();
var mois = dtJour.getMonth();
var jour = dtJour.getDate();
var heure = dtJour.getHours();
var minute = dtJour.getMinutes();
var seconde = dtJour.getSeconds();

var moisSecondes = (((((11-mois)*30.5)*24)*60)*60);
var jourSecondes = ((((31-jour)*24)*60)*60);
var heureSecondes = (((24-heure-1)*60)*60);
var minuteSecondes = ((59-minute)*60);
var secondeSecondes = (59-seconde);
var totalSecondes2010 = moisSecondes+jourSecondes+heureSecondes+minuteSecondes+secondeSecondes;

var secondesCDM2011=21850200;
var total = totalSecondes2010+secondesCDM2011

var jourstotal = parseInt( ((total/60)/24) )
var minutestotal = parseInt( (((total/60)%24)*24)*60 )
var secondestotal = parseInt( ((((total/60)%24)*24)%60)*60 );
chaineSecondes = "total = "+total+"..... avant fin 2010 ="+totalSecondes2010;
chaineDates = jourstotal+" jour "+minutestotal+" min "+secondestotal+" secondes";
return chaineSecondes;

}

function setTimeTotalJours(){
var dtJour = new Date();
var annee = dtJour.getFullYear();
var mois = dtJour.getMonth();
var jour = dtJour.getDate();
var heure = dtJour.getHours();
var minute = dtJour.getMinutes();
var seconde = dtJour.getSeconds();

var moisSecondes = (((((11-mois)*30.5)*24)*60)*60);
var jourSecondes = ((((31-jour)*24)*60)*60);
var heureSecondes = (((24-heure-1)*60)*60);
var minuteSecondes = ((59-minute)*60);
var secondeSecondes = (59-seconde);
var totalSecondes2010 = moisSecondes+jourSecondes+heureSecondes+minuteSecondes+secondeSecondes;

var secondesCDM2011=21850200;
var total = totalSecondes2010+secondesCDM2011

var jourstotal = parseInt( ((total/60)/24) )
var minutestotal = parseInt( (((total/60)%24)*24)*60 )
var secondestotal = parseInt( ((((total/60)%24)*24)%60)*60 );
chaineSecondes = "total = "+total+"..... avant fin 2010 ="+totalSecondes2010;
chaineDates = jourstotal+" jour "+minutestotal+" min "+secondestotal+" secondes";
return chaineDates;

}

function retourChaine1(){
decission =1;
return 1();

}
function retourChaine2(){
decission =2;
return 2();

}




</SCRIPT>

</head>

<body>

<div id="ID" onMouseOver="retourChaine1()" onMouseOut="retourChaine2()" ></div>

<SCRIPT language="javascript">
principal();
</SCRIPT>


</body>


</html>
0