Un petit coup de main

Fermé
Benoit - 6 janv. 2013 à 21:03
Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 - 7 janv. 2013 à 10:27
Bonjour,


Je ne suis pas du tout un spécialiste, j'ai besoin de créer un compte à rebours redirigeant vers une page internet une fois le compte à rebours terminé.

Je n'y connais rien en Javascript donc j'aurai besoin de vous pour éditer ce script que j'ai trouvé sur Internet.

Je remercie d'avance ceux qui m'aideront et si en plus vous pouvez m'expliquer la modification, ça m'aidera à comprendre :)

Cordialement.
Bonne soirée à tous

Benoit

Voila le script :

<html>
<div id="compte_a_rebours"><noscript>Fin de l'évènement le 1er janvier 2013.</noscript></div>
<script type="text/javascript">
function compte_a_rebours()
{
var compte_a_rebours = document.getElementById("compte_a_rebours");

var date_actuelle = new Date();
var date_evenement = new Date("Jan 1 00:00:00 2013");
var total_secondes = (date_evenement - date_actuelle) / 1000;

var prefixe = "Compte à rebours terminé dans ";
if (total_secondes < 0)
{
prefixe = "Compte à rebours terminé il y a "; // On modifie le préfixe si la différence est négatif

total_secondes = Math.abs(total_secondes);

}

if (total_secondes > 0)
{
var jours = Math.floor(total_secondes / (60 * 60 * 24));
var heures = Math.floor((total_secondes - (jours * 60 * 60 * 24)) / (60 * 60));
minutes = Math.floor((total_secondes - ((jours * 60 * 60 * 24 + heures * 60 * 60))) / 60);
secondes = Math.floor(total_secondes - ((jours * 60 * 60 * 24 + heures * 60 * 60 + minutes * 60)));

var et = "et";
var mot_jour = "jours,";
var mot_heure = "heures,";
var mot_minute = "minutes,";
var mot_seconde = "secondes";

if (jours == 0)
{
jours = '';
mot_jour = '';
}
else if (jours == 1)
{
mot_jour = "jour,";
}

if (heures == 0)
{
heures = '';
mot_heure = '';
}
else if (heures == 1)
{
mot_heure = "heure,";
}

if (minutes == 0)
{
minutes = '';
mot_minute = '';
}
else if (minutes == 1)
{
mot_minute = "minute,";
}

if (secondes == 0)
{
secondes = '';
mot_seconde = '';
et = '';
}
else if (secondes == 1)
{
mot_seconde = "seconde";
}

if (minutes == 0 && heures == 0 && jours == 0)
{
et = "";
}

compte_a_rebours.innerHTML = prefixe + jours + ' ' + mot_jour + ' ' + heures + ' ' + mot_heure + ' ' + minutes + ' ' + mot_minute + ' ' + et + ' ' + secondes + ' ' + mot_seconde;
}
else
{
compte_a_rebours.innerHTML = 'Compte à rebours terminé.';
}

var actualisation = setTimeout("compte_a_rebours();", 1000);
}
compte_a_rebours();
</script>
</html>

3 réponses

Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 274
7 janv. 2013 à 09:54
Bonjour,

il faut qu'il soit très précis ou c'est approximatif ?
Non juste avoir a la fin du décompte une page qui s'ouvre dans un nouvel onglet
Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 274
7 janv. 2013 à 10:27
<!DOCTYPE html>
<html>
<head>
	<title></title>
<style type="text/css">
	.timeOut {
		width: 250px;
		height: 80px;
		line-height: 80px;
		text-align: center;
		font-weight: bold;
		font-size: 15pt;
		background-color: #f5aaaa;
	}
</style>
<script type="text/javascript">
	function timeOut(selector,duration,url) {
		duration *= 1000;
		var timeS = Date.now();
		var ind;
		var inter = setInterval(function () {
			ind = Math.ceil((duration - (Date.now() - timeS)) / 1000);
			if(ind < 0) ind = 0;
			document.querySelector(selector).innerHTML = ind + ' seconde'+((ind > 1)? 's' : '');
			if(ind == 0) {
				clearInterval(inter);
				//window.open(url); /* Pour ouvrir dans une nouvelle fenêtre (AVERTISSEMENT POPUP) */
				location = url; /* Pour ouvrir dans la même page (SANS AVERTISSEMENT) */
			}
		},100);
	}
</script>
</head>
<body>
	<div class="timeOut"></div>
<script type="text/javascript">
	timeOut('.timeOut',2,'http://google.fr');
</script>
</body>
</html>


Pour ouvrir dans une nouvelle fenêtre ou onglet il y aura un avertissement disant que la page veut ouvrir une fenêtre popup