begin process at 2010 02 10 00:05:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Compte à rebours


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Compte à rebours

jeudi 29 mai 2008 à 13:09:38 | Compte à rebours

wadpap13

Bonjour,

J'ai un soucis avec mon compte à rebours dynamique. Il affche l'heure coté client et j'aimerais avoir un compte à rebours avec l'heure coté serveur.

Donc dans mon code j'ai remplacé :

var aujourdhui = new Date();  par var aujourdhui = new Date(<?=date('Y,m-1,d,H,i,s')?>);

Donc ca marche bien, il le fait bien avec l'heure coté serveur, mais le compteur reste figé si on ne recharge pas la page, il n'est plus dynamique.

Pour info, voici mon code :

// nombre de millisecondes par jour, heure, minute et seconde
var mms_jour = 24 * 60 * 60 * 1000;
var mms_heure = 60 * 60 * 1000;
var mms_minute = 60 * 1000;
var mms_seconde = 1000;

function decompte() {

// la date courante
var aujourdhui = new Date(<?=date('Y,m-1,d,H,i,s')?>);

// on crée les variables qui accueilleront les différences entre aujourd'hui et la date à atteindre
var change_j = -1;
var change_h = -1;
var change_m = -1;

// le total de millisecondes de différences
var diff_mms = cible.getTime() - aujourdhui.getTime();

// pareil pour les jours
diff_jours = Math.floor(diff_mms / mms_jour);
diff_mms -= diff_jours * mms_jour;

// pour les heures
diff_heures = Math.floor(diff_mms / mms_heure);
diff_mms -= diff_heures * mms_heure;
if(diff_heures<10){
 diff_heures="0"+diff_heures;
 }

// les... minutes, bravo ;-)
diff_minutes = Math.floor(diff_mms / mms_minute);
diff_mms -= diff_minutes * mms_minute;
if(diff_minutes<10){
 diff_minutes="0"+diff_minutes;
 }

// les secondes, ce qui reste en fait.
var diff_secondes = Math.floor(diff_mms / mms_seconde);
if(diff_secondes<10){
 diff_secondes="0"+diff_secondes;
 }


// on affecte nos résultats aux champs du formulaire
// on affecte nos résultats aux champs du formulaire
document.getElementById("jours").innerHTML = diff_jours;
document.getElementById("heures").innerHTML  = diff_heures;
document.getElementById("minutes").innerHTML  = diff_minutes;
document.getElementById("secondes").innerHTML = diff_secondes;


// on relance la fonction pour actualiser à la seconde
setTimeout("decompte()",1000);


Merci d'avance !!

jeudi 29 mai 2008 à 14:01:58 | Re : Compte à rebours

bultez

Membre Club
Bonjour,
    >>avec l'heure coté serveur.
    il faut appeler un scipt coté serveur ( asp, php, ruby ... )
        qui te retournera l'heure du serveur ( en php par exemple regarde date('format') )
    puis coté javascript, calculer la différence avec l'heure client,
       faire ce que tu fais en tenant compte de cette différence.
    il ne faudrait pas appeler le serveur à chaque "boucle" ... risque de saturation !

                Cordialement            Bul         [mon Site]     [M'écrire]
jeudi 29 mai 2008 à 14:08:48 | Re : Compte à rebours

wadpap13

Avec cette ligne que je modifie var aujourdhui = new Date(<?=date('Y,m-1,d,H,i,s')?>); , j'ai tout de meme besoin d'apeller un script ?

Et pourquoi je dois calculer la différence avec l'heure coté client alors que je ne me sers plus de celle-ci ?
jeudi 29 mai 2008 à 14:16:56 | Re : Compte à rebours

bultez

Membre Club

>>var aujourdhui = new Date(<?php echo date('Y,m-1,d,H,i,s');?>);
    à l'oeil, comme ça .... mais dans ce cas, il faut le rappeler ce .php !

    donc échange client / serveur toutes les secondes !   c'est lourd, pénalisant... !
   
    si tu récupérais l'heure serveur 1 fois et une seule,  tu n'aurais
       plus à appeler le php, tu resterais coté client.
       comme l'heure client et celle serveur sont probablement différentes
       et que tu veux afficher l'heure seveur, il faut bien calculer la différence


                Cordialement            Bul         [mon Site]     [M'écrire]
jeudi 29 mai 2008 à 14:40:29 | Re : Compte à rebours

wadpap13

Je vois pas comment mettre celà en oeuvre.

La je defini une cible qui est la date butoire.

Ensuite je fais var diff_mms = cible.getTime() - aujourdhui.getTime(); aujourdhui etant l'heure du serveur.

Qu'est ce je dois faire pour faire la différence avec l'heure du client ?
jeudi 29 mai 2008 à 14:54:05 | Re : Compte à rebours

bultez

Membre Club
la différence enre 2 heures... c'est un -
l'heure serveur tu l'as récupérée....

<?php met l'heure serveur dans une variable js par exemple ?>
html et javascript
    calcul différence avec heure client
    setTimeout d'un fonction qui fait :
          affichage heure client + différence


                Cordialement            Bul         [mon Site]     [M'écrire]
jeudi 29 mai 2008 à 15:11:59 | Re : Compte à rebours

wadpap13

Mais en fait l'algo je l'ai. C'est plutot la syntaxe qui me pose probleme :

Voila ce que j'ai mis et ca fonctionne pas :

function decompte() {

// la date courante
var aujourdhui1 = new Date(<? date('Y,m-1,d,H,i,s') ?>);
var aujourdhui2 = new Date();
var aujourdhui = aujourdhui1.getTime() - aujourdhui2.getTime();

// le total de millisecondes de différences
var diff_mms = cible.getTime() - aujourdhui2.getTime() - aujourdhui.getTime();
.....

vendredi 30 mai 2008 à 08:07:25 | Re : Compte à rebours

bultez

Membre Club
et tu as une erreur ?
pas regardé le reste,
        mais déjà : var aujourdhui1 = new Date("<?php echo date('Y,m-1,d,H,i,s'); ?>");
                         mais regarde ce qui est généré.

                Cordialement            Bul         [mon Site]     [M'écrire]
vendredi 30 mai 2008 à 09:54:24 | Re : Compte à rebours

bultez

Membre Club
aller.... ch'tiot début....
    var ds=new Date("<?php echo date("F j, Y, g:i a");?>");
    alert(ds);
    var dm=new Date();
    alert(    "date serveur : "+ds+"\r\n"+
                "date micro : "+dm+"\r\n"+
                "différence : "+(ds-dm));
je ne parle pas des fuseux horaires, et tu devaris savoir faire le reste....

                Cordialement            Bul         [mon Site]     [M'écrire]
vendredi 30 mai 2008 à 12:21:05 | Re : Compte à rebours

wadpap13

Si je mets var aujourdhui = new Date("<?php echo date('Y,m-1,d,H,i,s'); ?>");

Il me met un truc du type : NaN : NaN NaN à la place des valeurs de date et heure.


Si j'enlève les guillemets par contre var aujourdhui = new Date(<?php echo date('Y,m-1,d,H,i,s'); ?>);

il me met bien la bonne heure du serveur, mais le compteur n'est pas dynamique. Il faut à chaque fois que je reload la page pour savoir où le compteur en est....

1 2

Cette discussion est classée dans : minutes, var, heure, diff, mms


Répondre à ce message

Sujets en rapport avec ce message

Chrono JS avec heure serveur [ par basto ] Bonjour, j'ai fait un amalgame de script pour obtenir un chronometre qui affiche la différence de temps écoulé depuis une date php antérieur et la dat Afficher texte avec X et Y [ par bshaka ] Bonjour à tous,j'ai trouvé sur le web cette fonction qui affiche date et heure à une position x et y, pour l'appeler, je fais :InitHorloge(265,56,"fon Affichier un texte avec la position X et Y [ par bshaka ] Bonjour à tous,j'ai trouvé sur le web cette fonction qui affiche date et heure à une position x et y, pour l'appeler, je fais :InitHorloge(265,56,"fon calendrier avec heure et minutes [ par info20072008 ] salut pouvez vous me montrer le code qui  me permet d'ajouter  à ma jsp un calendrieret avoir la possibilité de choisir l'heure et les minutes et le horloge... facile mais ca marche pas... [ par darkthief ] Salut a tous !j'ai écrit ce code mais il ne marche pas...Pourriez vous m'aidez svp :D ? horloge function Horloge(){ var Date = compte a rebours [ par valkerio ] bonjour voila j'ai trouve un petit script sur ce site mais je voudrais bien un peu le modifier mais je ne connais pas grand chose en javascript. donc problème de passage de valeurs dans fonction [ par tkoniez ] Bonjour,je n'arrive pas à passer des valeurs dans une fonction... PS : sans passage de valeurs la même fonction tourne sans problème (fonction : Trans Problèmes affichage horloges en direct [ par santille ] Bonjour, Ci-dessous le code qui me pose problème. Je voudrais afficher l'heure qu'il fait à Tokyo (GMT+9, sauf erreur) mais je ne sais pas comment le heure en temps réel [ par Mezixx ] Bonjour,comment modifier ce srcipt (et pas en mettre un autre) pour qu'il m'affiche l'heure en temps réel. var ladate=new Date(); var d=ladate.getDay( Heure programmée [ par newsmatique ] bonjour,je ne connais pas du tout le javascript et j'aimerais faire un script qui :Quand l'heure est : 19H00 j'ouvre un popup mais sa sans recharger l


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,435 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales