Bonjour,
Voici un code permettant d'afficher sur sa page Web un compte à rebours pour des événements répétitifs.
Merci de me faire parvenir vos commentaires.
Utilisation : insérer la balise Div à l'endroit où l'on veut que le compte à rebours s'affiche. Les différentes variables de la fonction Rebour() sont expliquées dans le commentaire.
Source / Exemple :
<html><body>
<label id="Compte"></label>
<script language="javascript">
function Rebour(LabelId, d_start, n_episodes, ecart, Text) {
/* LabelId = nom du label dans lequel placer le texte
- n_episodes = nbre d'épisodes dans la saison
- d_start = date de début
- ecart = écart entre 2 épisodes en jour
- Text = text à afficher avant le compte à rebours
- /
var affiche = document.getElementById(LabelId);
var date_start = new Date(d_start);
date_start = date_start.getTime(); // transforme la date de début en timestamp (milli-secondes)
ecart_cor = ecart * 24 * 3600 * 1000; // Mettre valeur en mili-secondes
var saison = new Array(); // tableau des dates des épisodes
saison[0] = date_start;
var auj = new Date(); // heure actuelle
auj = auj.getTime(); // transforme la date de début en timestamp (milli-secondes)
for (i = 1; i < n_episodes; i++) { // Boucle de remplissage des dates des épisodes (le premier est déjà inséré)
saison[i] = saison[i - 1] + ecart_cor;
}
for (i = 0; i < n_episodes; i++) { // Boucle permettant de trouvé l'épisode suivant
if (saison[i] > auj) {
var duree = (saison[i] - auj) / 1000; // Obtient le temps restant jusqu'au prochain épisode
var jours = Math.floor(duree / (24 * 3600));
var heures = Math.floor((duree - jours * 24 * 3600) / 3600);
var minutes = Math.floor((duree - jours * 24 * 3600 - heures * 3600) / 60);
break; // Arrête la boucle
}
}
affiche.innerHTML = unescape(Text) + jours +" jours "+ heures +" h "+ minutes +" min";
tRebour = setTimeout('Rebour("' + LabelId + '", "' + d_start + '", ' + n_episodes + ', ' + ecart + ', "' + Text + '");', 1000);
}
Rebour("Compte", "May 05 00:27:00 2010", 24, 14, "Début dans : ");
</script>
</body></html>
Conclusion :
La variable Text peut être supprimer pour insérer du texte directement avant le label
13 mai 2010 à 22:51
text/javascript est déjà déprécié, il faut plutôt utiliser application/javascript (quoi que ce ne soit pas très répandu) ;)
Pour le script : Peut-être retourné une variable contenant le temps restant plutôt que de l'afficher en dure ;)
10 mai 2010 à 12:31
10 mai 2010 à 11:58
Merci pour le script de compte à rebours :)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.