IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[POO] Compte à rebours


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 89
    Par défaut [POO] Compte à rebours
    Bonjour,

    J'ai un script en javascript que j'ai chopé sur le net pour faire un compte à rebours
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    <!-- DEBUT DU SCRIPT COMPTE A REBOURS -->
     
    <script language="JavaScript1.2">
     
     
    function setcountdown(theyear,themonth,theday,thehour,themin,thesec){
    yr=theyear;mo=themonth;da=theday;hr=thehour;min=themin;sec=thesec
    }
     
    ////////// CONFIGUREZ LE COMPTEUR CI-DESSOUS //////////////////
     
    // 1°) Configurez la date dans le futur dans le format ANNEE, MOIS, JOUR, HEURES sur 24h (0=minuit,23=11pm), MINUTES, SECONDES
    setcountdown(2010,10,17,01,5,00)
     
    // 2°) Changez les deux textes ci-dessous. Le premier pour annoncer l'évènement, le second qui s'affichera à la fin du compte à rebours.
    var occasion=" un évènement spécial"
    var message_on_occasion="C'est aujourd'hui !"
     
    // 3°) Configurez ci-dessous 5 variables pour la largeur, hauteur, la couleur de l'arrière plan, et le style du texte du champ
    var countdownwidth='640px' // ou une valeur en % comme var countdownwidth='95%'
    var countdownheight='35px'
    var countdownbgcolor='#FFEBCD' // ou une couleur en texte comme : lightyellow
    var opentags='<font face="Verdana"><small>'
    var closetags='</small></font>'
     
    ////////// NE RIEN EDITER CI-DESSOUS //////////////////
     
    var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
    var crosscount=''
     
    function start_countdown(){
    if (document.layers)
    document.countdownnsmain.visibility="show"
    else if (document.all||document.getElementById)
    crosscount=document.getElementById&&!document.all?document.getElementById("countdownie") : countdownie
    countdown()
    }
     
    if (document.all||document.getElementById)
    document.write('<span id="countdownie" style="width:'+countdownwidth+'; background-color:'+countdownbgcolor+'"></span>')
     
    window.onload=start_countdown
     
     
    function countdown(){
    var today=new Date()
    var todayy=today.getYear()
    if (todayy < 1000)
    todayy+=1900
    var todaym=today.getMonth()
    var todayd=today.getDate()
    var todayh=today.getHours()
    var todaymin=today.getMinutes()
    var todaysec=today.getSeconds()
    var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec
    futurestring=montharray[mo-1]+" "+da+", "+yr+" "+hr+":"+min+":"+sec
    dd=Date.parse(futurestring)-Date.parse(todaystring)
    dday=Math.floor(dd/(60*60*1000*24)*1)
    dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1)
    dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1)
    dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1)
    //if on day of occasion
    if(dday<=0&&dhour<=0&&dmin<=0&&dsec<=1&&todayd==da){
    if (document.layers){
    document.countdownnsmain.document.countdownnssub.document.write(opentags+message_on_occasion+closetags)
    document.countdownnsmain.document.countdownnssub.document.close()
    }
    else if (document.all||document.getElementById)
    crosscount.innerHTML=opentags+message_on_occasion+closetags
    return
    }
    //if passed day of occasion
    else if (dday<=-1){
    if (document.layers){
    document.countdownnsmain.document.countdownnssub.document.write(opentags+"L'évènement est déjà arrivé ! "+closetags)
    document.countdownnsmain.document.countdownnssub.document.close()
    }
    else if (document.all||document.getElementById)
    crosscount.innerHTML=opentags+"L'évènement est déjà arrivé ! "+closetags
    return
    }
    //else, if not yet
    else{
    if (document.layers){
    document.countdownnsmain.document.countdownnssub.document.write("Il reste "+opentags+dday+ " jours, "+dhour+" heures, "+dmin+" minutes, et "+dsec+" secondes avant "+occasion+closetags)
    document.countdownnsmain.document.countdownnssub.document.close()
    }
    else if (document.all||document.getElementById)
    crosscount.innerHTML="Il reste "+opentags+dday+ " jours, "+dhour+" heures, "+dmin+" minutes, et "+dsec+" secondes avant "+occasion+closetags
    }
    setTimeout("countdown()",1000)
    }
    </script><!-- FIN DU SCRIPT COMPTE A REBOURS -->
    Mon problème est comment modifier le script pour faire un compte à rebours seulement en heure en minute et en secondes sur une heure en affichant il reste 0h 59 minutes 58 secondes.
    Et en faisant le compte à rebours en direct live.
    Car le script le fait sur une date futur.

    Merci pour votre aide

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 114
    Par défaut Remplacement ...
    Il suffit de s'affranchir des variables sur l'année, mois et jours :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    <!-- DEBUT DU SCRIPT COMPTE A REBOURS -->
    
    <script language="JavaScript1.2">
    
    
    function setcountdown(thehour,themin,thesec){
    hr=thehour;min=themin;sec=thesec
    }
    
    ////////// CONFIGUREZ LE COMPTEUR CI-DESSOUS //////////////////
    
    // 1°) Configurez la date dans le futur dans le format HEURES sur 24h (0=minuit,23=11pm), MINUTES, SECONDES
    setcountdown(18,5,00)
    
    // 2°) Changez les deux textes ci-dessous. Le premier pour annoncer l'évènement, le second qui s'affichera à la fin du compte à rebours.
    var occasion=" un évènement spécial"
    var message_on_occasion="C'est aujourd'hui !"
    
    // 3°) Configurez ci-dessous 5 variables pour la largeur, hauteur, la couleur de l'arrière plan, et le style du texte du champ
    var countdownwidth='640px' // ou une valeur en % comme var countdownwidth='95%'
    var countdownheight='35px'
    var countdownbgcolor='#FFEBCD' // ou une couleur en texte comme : lightyellow
    var opentags='<font face="Verdana"><small>'
    var closetags='</small></font>'
    
    ////////// NE RIEN EDITER CI-DESSOUS //////////////////
    
    var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
    var crosscount=''
    
    function start_countdown(){
    if (document.layers)
    document.countdownnsmain.visibility="show"
    else if (document.all||document.getElementById)
    crosscount=document.getElementById&&!document.all?document.getElementById("countdownie") : countdownie
    countdown()
    }
    
    if (document.all||document.getElementById)
    document.write('<span id="countdownie" style="width:'+countdownwidth+'; background-color:'+countdownbgcolor+'"></span>')
    
    window.onload=start_countdown
    
    
    function countdown(){
      var today=new Date()
      var todayy=today.getYear()
      if (todayy < 1000)
      todayy+=1900
      var todaym=today.getMonth()
      var todayd=today.getDate()
      var todayh=today.getHours()
      var todaymin=today.getMinutes()
      var todaysec=today.getSeconds()
      var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec
      futurestring=montharray[todaym]+" "+todayd+", "+todayy+" "+hr+":"+min+":"+sec
      dd=Date.parse(futurestring)-Date.parse(todaystring)
      dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1)
      dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1)
      dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1)
      //if on day of occasion
      if(dhour<=0&&dmin<=0&&dsec<=1&&todayd==da){
      if (document.layers){
      document.countdownnsmain.document.countdownnssub.document.write(opentags+message_on_occasion+closetags)
      document.countdownnsmain.document.countdownnssub.document.close()
      }
      else if (document.all||document.getElementById)
      crosscount.innerHTML=opentags+message_on_occasion+closetags
      return
      }
      //else, if not yet
      else{
      if (document.layers){
      document.countdownnsmain.document.countdownnssub.document.write("Il reste "+opentags+dhour+" heures, "+dmin+" minutes, et "+dsec+" secondes avant "+occasion+closetags)
      document.countdownnsmain.document.countdownnssub.document.close()
      }
      else if (document.all||document.getElementById)
      crosscount.innerHTML="Il reste "+opentags+dhour+" heures, "+dmin+" minutes, et "+dsec+" secondes avant "+occasion+closetags
      }
      setTimeout("countdown()",1000)
    }
    </script><!-- FIN DU SCRIPT COMPTE A REBOURS -->
    En bleu, les lignes modifiées. Les lignes supprimées n'apparaissent pas

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 89
    Par défaut Re
    Merci Titfab pour ta réponse et merci également de m'avoir corrigé le script.

    Je vais abusé un peu de tes connaissances - Car je veux que le script definisse de lui même 1 heure en plus à l'instant T.

    Et non pas en rentrant manuellement la variable ds setcountdown(18,5,00).

    En gros lorsqu'une personne arrive sur la page il y a un compte à rebours qui debute sur 1 heure.

    Merci pour votre aide et vos reelles competences.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    getHours et setHours ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 89
    Par défaut Re
    !!!!!!

    Tu as une facon d'aider les gens
    Mais bon merci quand même ..

    J'ai regardé le post avant de poster a mon tour :
    http://www.developpez.net/forums/arc.../t-250838.html

    Et bien je dois etre un nul de chez nul - Car je ne vois pas comment utilisé la fonction getHours et setHours avec mon setcountdown(18,5,00).

    Enfin merci quand même.


  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 114
    Par défaut faut pas se déchirer ...
    Il suffit de modifier la fonction setcountdown et son appel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <!-- DEBUT DU SCRIPT COMPTE A REBOURS -->
    <script language="JavaScript1.2">
     
    function setcountdown(){
    var today=new Date()
    hr=today.getHours()+1;min=today.getMinutes();sec=today.getSeconds()
    }
     
    ////////// CONFIGUREZ LE COMPTEUR CI-DESSOUS //////////////////
    // 1°) Configurez la date dans le futur dans le format HEURES sur 24h (0=minuit,23=11pm), MINUTES, SECONDES
    setcountdown()
     
    // 2°) Changez les deux textes ci-dessous. Le premier pour annoncer l'évènement, le second qui s'affichera à la fin du compte à rebours.
    ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [timer] Compte à rebours pour redirection !
    Par Raideman dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/12/2005, 20h07
  2. Compte à rebours
    Par Anduriel dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 29/12/2005, 20h12
  3. compte à rebours
    Par Datord dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 17/11/2005, 21h22
  4. compte à rebours
    Par etoile1506 dans le forum C
    Réponses: 10
    Dernier message: 27/10/2005, 15h20
  5. Compte à rebours trop rapide
    Par Anduriel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/06/2005, 20h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo