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 :

[AJAX] Compte à rebours en Ajax


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 62
    Points : 34
    Points
    34
    Par défaut [AJAX] Compte à rebours en Ajax
    Bonjour,

    J'ai un compte à rebours qui se base sur un fichier php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?
    $dateenvoitime=date('Y-m-d H:i:s',$dateenvoi);
    $nbSecondes= 120 -(mktime($dateenvoitime) % 120);
    $date=date('i:s',$nbSecondes);
    echo $date;
     
    ?>
    En gros, je prends la date et l'heure du jour, et je fais un compte à rebours de 2 minutes à partir de cette date, avec un affichage MM:SS.

    J'ai ensuite un javscript - Ajax dans lequel je mets une fonction "decompte"...

    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
    function Decompte() {
    window.document.form1.tempsRestant.value = parseInt(document.form1.tempsRestant.value)--;
    if (window.document.form1.tempsRestant.value == 0) {
    window.clearInterval(x);
    window.document.form1.submit.disabled = false;
    window.document.getElementById("reponse").style.visibility="visible";
    }
    }
     
    function init()	{
    	x = window.setInterval('Decompte()', 1000);
    }
     
    function initCompteur()
    {
    tempsSession();
    init();
     
    }
    Le souci, c'est qu'il m'affiche bien la première seconde (par exemple : 01:38),
    mais après il affiche NAN (Not a number) et ne se décrémente pas automatiquement.

    Je sais que ce qui pose problème, c'est le ":". Et pour info, l'élément "reponse" c'est que je souhaite faire apparaitre une reponse à une question à la fin du compte à rebours.

    Quest ce que je dois modifier dans ma fonction pour prendre en compte la chose correctement...
    Il semblerait que j'ai un souci avec le value.

    Merci

  2. #2
    Membre confirmé Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Points : 455
    Points
    455
    Par défaut
    "01:38" est une chaine de caractères..
    Il faut traiter heures, minutes et secondes comme 3 valeurs numériques et avant d'afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.form1.tempsRestant.value = heure+':'+min+':'+sec;
    Ca coince donc à ta 1ère ligne, au niveau de la décrémentation.


    PS : ton parseInt() fonctionne sans 2ème paramètres ?
    Normalement faut mettre 10 en second param car tu précises la base de calcul..
    (2 pour base binaire)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Est t'il possible d'ajouter une fonction pause à ce script?

  4. #4
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    Citation Envoyé par vince_30 Voir le message
    Est t'il possible d'ajouter une fonction pause à ce script?
    Bien sur... son contenu serait simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.clearInterval(x);
    Et pour relancer, il suffit de réinvoquer la fonction init.

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

Discussions similaires

  1. [AJAX] Event plus pris en compte aprés refresh AJAX
    Par dragonfly dans le forum jQuery
    Réponses: 9
    Dernier message: 29/07/2014, 19h34
  2. [AJAX] Compte à rebours PHP Javascript ajax
    Par syl2042 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/08/2007, 18h00
  3. CSS non pris en compte par ie (AJAX)
    Par Wanty dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 29/08/2006, 12h19
  4. [AJAX] Effectuer plusieur appel ajax
    Par shwin dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 06/10/2005, 16h40
  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