Java refresh
Résolu
gilbert1995
Messages postés
414
Date d'inscription
Statut
Membre
Dernière intervention
-
Groarh Messages postés 682 Date d'inscription Statut Membre Dernière intervention -
Groarh Messages postés 682 Date d'inscription Statut Membre Dernière intervention -
Bonjour, voila j'ai un compte a rebours mais il fige il ne rafraîchit pas au seconde voila mon code
<script language="JavaScript"> // la date a partir de laquelle on compte var cible = new Date("July 22, 2011 14:15:00"); // nombre de millisecondes par an, jour, heure, minute et seconde var mms_an = 365 * 24 * 60 * 60 * 1000; 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(); // on cree les variables qui accueilleront les differences entre aujourd'hui et la date a atteindre var change_a = -1; var change_j = -1; var change_h = -1; var change_m = -1; // le total de millisecondes de differences var diff_mms = cible.getTime() - aujourdhui.getTime(); // le nombre d'annee(s) entieres de difference diff_annee = Math.floor(diff_mms / mms_an); // on retire le nombre d'annees, fois le nombre de millisecondes par an, de la difference entre aujourd'hui et la date a atteindre diff_mms -= diff_annee * mms_an; // 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; // les... minutes, bravo ;-) diff_minutes = Math.floor(diff_mms / mms_minute); diff_mms -= diff_minutes * mms_minute; // les secondes, ce qui reste en fait. var diff_secondes = Math.floor(diff_mms / mms_seconde); // on affecte nos resultats aux champs du formulaire document.write('Annee' + diff_annee); document.write('jours' + diff_jours); document.write('heures' + diff_heures); document.write('minutes' + diff_minutes); document.write('secondes' + diff_secondes); break; // on relance la fonction pour actualiser a la seconde setTimeout("decompte()",1000); } </script> <body onLoad="javascript:decompte()"></body>
A voir également:
- Java refresh
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
1 réponse
Salut,
tu as un gros problème ici :
Le code ne correspond pas à ce qui est en commentaire : ça n'affecte aucun champ de formulaire. Et de toute façon, il n'y a pas de formulaire car ton <body> est vide. Quant au break, je ne comprends pas à quoi il est censé servir.
La fonction document.write() est une très vieille fonction qui détruit la page courante pour écrire des données à l'écran. Autant être clair : elle ne devrait plus du tout être utilisée aujourd'hui.
Si tu as un débugger JavaScript dans ton navigateur, tape juste document.write('bonjour') et regarde le code source de la page, tu verras que ça détruit aussi le JavaScript, bref : c'est un désastre.
De même, c'est
Alors si tu veux faire ça proprement, utilise les méthodes du DOM, par exemple :
Il y a une méthode qui fait moins de lignes de code, mais personnellement, je la déconseille, c'est d'utiliser body.innerHTML.
Bonus : avec l'opérateur modulo (%), il y a moyen de pas mal simplifier tes calculs. Penses-y ;)
tu as un gros problème ici :
// on affecte nos resultats aux champs du formulaire document.write('Annee' + diff_annee); document.write('jours' + diff_jours); document.write('heures' + diff_heures); document.write('minutes' + diff_minutes); document.write('secondes' + diff_secondes); break;
Le code ne correspond pas à ce qui est en commentaire : ça n'affecte aucun champ de formulaire. Et de toute façon, il n'y a pas de formulaire car ton <body> est vide. Quant au break, je ne comprends pas à quoi il est censé servir.
La fonction document.write() est une très vieille fonction qui détruit la page courante pour écrire des données à l'écran. Autant être clair : elle ne devrait plus du tout être utilisée aujourd'hui.
Si tu as un débugger JavaScript dans ton navigateur, tape juste document.write('bonjour') et regarde le code source de la page, tu verras que ça détruit aussi le JavaScript, bref : c'est un désastre.
De même, c'est
<script type="text/javascript">et pas
<script langage="javascript">sinon ça passe pas sous certains navigateurs modernes (Firefox, Opera) qui ont décidé qu'il était temps de faire bouger les choses.
Alors si tu veux faire ça proprement, utilise les méthodes du DOM, par exemple :
function print( s ) { document.body.appendChild(document.createTextNode(s)); }; print('Annee' + diff_annee); print('jours' + diff_jours); print('heures' + diff_heures); print('minutes' + diff_minutes); print('secondes' + diff_secondes);
Il y a une méthode qui fait moins de lignes de code, mais personnellement, je la déconseille, c'est d'utiliser body.innerHTML.
Bonus : avec l'opérateur modulo (%), il y a moyen de pas mal simplifier tes calculs. Penses-y ;)
Bonne chance !