Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

COMPTE À REBOURS AVEC LIEN DE REDIRECTION QUAND IL EST FINI


Information sur la source

Catégorie :Date & Heure Classé sous : compte, rebours, redirection, lien Niveau : Débutant Date de création : 04/08/2006 Date de mise à jour : 05/08/2006 12:51:57 Vu : 14 004

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

Description

C'est un compte a rebours (encore un) qui permet d'afficher un lien quand il se termine.
A la base, il servais a un compte a rebours sur plusieurs années,

il y a 4 variables a modifier en debut de code:
    Seconds_Counter : correspond a la durée du compte à rebours en secondes
    Text_Redirection_Counter : correspond au texte du lien
    URL_Redirection_Counter : correspond au chemin du lien vers lequel le texte doit pointer
    Target_Redirection_Counter : correspond au type de target du lien , cad "_blank", "_self", "_parent" ou "_top"  

la variable Open_Time_Counter renvoie le temps restant au format hh:mm:ss ( hh pouvant etre superieur a 24 )
les variables End_Date_Counter et End_Time_Counter renvoient respectivement la date (dd/mm/yyyy) et l'heure (hh:mm:ss) de fin de compte a rebours
 

Source

  • <body >
  • <DIV ID="Counter"></DIV>
  • <SCRIPT type="text/javascript">
  • var Seconds_Counter = 10000; // indiquez la durée du compte à rebours en secondes
  • var URL_Redirection_Counter = "index.html"; // indiquez le chemin du lien vers lequel le texte doit pointer
  • var Text_Redirection_Counter = "Le compte a rebours est maintenat terminé. Ce lien permet d'aller a index.html"; // indiquez le texte du lien
  • var Target_Redirection_Counter = "_top"; // indiquez le type de target : "_blank", "_parent", "_self" ou "_top"
  • //les autres variables n'ont pas a etre modifiées//
  • var Target_Counter = document.getElementById('Counter');
  • var Target_Time_Counter = new Date();
  • var Time_Beginn_Counter = Target_Time_Counter.getTime();
  • var Time_End_Counter = Time_Beginn_Counter + (Seconds_Counter*1000);
  • Target_Time_Counter.setTime(Time_End_Counter);
  • // variables inutilisée ds ce code, servant a un compte a rebours sur plusieurs années
  • var Day_Counter = Target_Time_Counter.getDate();
  • var Month_Counter = Target_Time_Counter.getMonth() + 1;
  • var Year_Counter = Target_Time_Counter.getYear();
  • if(Year_Counter < 999) Year_Counter += 1900;
  • var h_Counter = Target_Time_Counter.getHours();
  • var m_Counter = Target_Time_Counter.getMinutes();
  • var s_Counter = Target_Time_Counter.getSeconds();
  • var fday_Counter = ((Day_Counter < 10) ? "0" : "") + Day_Counter + "/";
  • var fmonth_Counter = ((Month_Counter < 10) ? "0" : "") + Month_Counter + "/";
  • var fyear_Counter = Year_Counter
  • var fh_Counter = ((h_Counter < 10) ? "0" : "") + h_Counter + "h ";
  • var fm_Counter = ((m_Counter < 10) ? "0" : "") + m_Counter + "min ";
  • var fs_Counter = ((s_Counter < 10) ? "0" : "") + s_Counter + "sec";
  • var End_Date_Counter = fday_Counter + fmonth_Counter + fyear_Counter;
  • var End_Time_Counter = fh_Counter + fm_Counter + fs_Counter;
  • CountDown_Counter();
  • function CountDown_Counter() {
  • var Current_Date_Counter = new Date();
  • var Curren_tTime_Counter = Current_Date_Counter.getTime()
  • var Open_Time_Counter = Math.floor((Target_Time_Counter-Curren_tTime_Counter)/1000);
  • var s_Counter = Open_Time_Counter % 60;
  • var m_Counter = ((Open_Time_Counter-s_Counter)/60) % 60;
  • var h_Counter = ((Open_Time_Counter-s_Counter-m_Counter*60)/(60*60));
  • var fh_Counter = ((h_Counter < 10) ? "0" : "") + h_Counter + "h ";
  • var fm_Counter = ((m_Counter < 10) ? "0" : "") + m_Counter + "min ";
  • var fs_Counter = ((s_Counter < 10) ? "0" : "") + s_Counter + "sec";
  • var Time_Counter = fh_Counter + fm_Counter + fs_Counter;
  • var Output_String_Counter=Time_Counter;
  • if(Open_Time_Counter<=0) {
  • Target_Counter.innerHTML= "<a href='" + URL_Redirection_Counter + "' target='" + Target_Redirection_Counter + "'>" + Text_Redirection_Counter + "</a>";
  • }else{
  • Target_Counter.innerHTML= "Le compte a rebours se finira le " + End_Date_Counter + " à " + End_Time_Counter+ ", c'est a dire dans " + Output_String_Counter;
  • window.setTimeout("CountDown_Counter()",1000);
  • }
  • }
  • </SCRIPT>
  • </body>
<body >

<DIV ID="Counter"></DIV>

<SCRIPT type="text/javascript">
	var Seconds_Counter = 10000; // indiquez la durée du compte à rebours en secondes
	var URL_Redirection_Counter = "index.html"; // indiquez le chemin du lien vers lequel le texte doit pointer
	var Text_Redirection_Counter = "Le compte a rebours est maintenat terminé. Ce lien permet d'aller a index.html"; // indiquez le texte du lien
	var Target_Redirection_Counter = "_top"; // indiquez le type de target : "_blank", "_parent", "_self" ou "_top"  

	//les autres variables n'ont pas a etre modifiées//

	var Target_Counter = document.getElementById('Counter'); 
	var Target_Time_Counter = new Date();
	var Time_Beginn_Counter = Target_Time_Counter.getTime();
	var Time_End_Counter = Time_Beginn_Counter + (Seconds_Counter*1000);
	Target_Time_Counter.setTime(Time_End_Counter);

// variables inutilisée ds ce code, servant a un compte a rebours sur plusieurs années

	var Day_Counter = Target_Time_Counter.getDate();
	var Month_Counter = Target_Time_Counter.getMonth() + 1;
	var Year_Counter = Target_Time_Counter.getYear();
	if(Year_Counter < 999) Year_Counter += 1900;
	var h_Counter = Target_Time_Counter.getHours();
 	var m_Counter = Target_Time_Counter.getMinutes();
 	var s_Counter = Target_Time_Counter.getSeconds();
	
	var fday_Counter  = ((Day_Counter < 10) ? "0" : "") + Day_Counter + "/";
	var fmonth_Counter  = ((Month_Counter < 10) ? "0" : "") + Month_Counter + "/";
	var fyear_Counter = Year_Counter
	var fh_Counter  = ((h_Counter < 10) ? "0" : "") + h_Counter + "h ";
	var fm_Counter  = ((m_Counter < 10) ? "0" : "") + m_Counter + "min ";
 	var fs_Counter  = ((s_Counter < 10) ? "0" : "") + s_Counter + "sec";
	
	var End_Date_Counter = fday_Counter + fmonth_Counter  + fyear_Counter;
	var End_Time_Counter = fh_Counter + fm_Counter + fs_Counter;

	CountDown_Counter();
	
	function CountDown_Counter() {
	  var Current_Date_Counter = new Date();
	  var Curren_tTime_Counter = Current_Date_Counter.getTime()
	  var Open_Time_Counter = Math.floor((Target_Time_Counter-Curren_tTime_Counter)/1000);

	  var s_Counter = Open_Time_Counter % 60;
	  var m_Counter = ((Open_Time_Counter-s_Counter)/60) % 60;
	  var h_Counter = ((Open_Time_Counter-s_Counter-m_Counter*60)/(60*60));
	  var fh_Counter  = ((h_Counter < 10) ? "0" : "") + h_Counter + "h ";
	  var fm_Counter  = ((m_Counter < 10) ? "0" : "") + m_Counter + "min ";
	  var fs_Counter  = ((s_Counter < 10) ? "0" : "") + s_Counter + "sec";

	  var Time_Counter = fh_Counter + fm_Counter + fs_Counter;
	  var Output_String_Counter=Time_Counter;

	  if(Open_Time_Counter<=0) { 
	  Target_Counter.innerHTML=  "<a href='" + URL_Redirection_Counter + "' target='" + Target_Redirection_Counter + "'>" + Text_Redirection_Counter + "</a>";  
	  }else{
	  Target_Counter.innerHTML= "Le compte a rebours se finira le " + End_Date_Counter + " à " + End_Time_Counter+ ", c'est a dire dans " + Output_String_Counter; 
	  window.setTimeout("CountDown_Counter()",1000);
	  }

	}
	</SCRIPT>

</body>

Conclusion

si vous avez des idées pour le simplifier ......
enfin, en esperant que cela vous plaise
merci
 

Historique

05 août 2006 12:51:57 :
maj: un petit oublie ds pour expliquer ce que sont les var Open_Time_Counter, End_Date_Counter et End_Time_Counter

Commentaires et avis

signaler à un administrateur
Commentaire de The_magicien le 12/08/2006 02:04:00

Salut, une bonne source, mais je crois que tu peux sûrement faire plus simple (je pourrais pas t'en dire plus car je ne suis pas un expert en javascript. Perso, je ferais ça en PHP, mais bon après c'est comme chacun veut!).
Sinon, je trouve que tu pourrais faire une redirection au lieu d'indiquer un lien, voila!!!

@++

signaler à un administrateur
Commentaire de econs le 12/08/2006 08:00:18 administrateur CS

En PHP, tu serais obligé de faire des appels au server toutes les secondes pour rafraîchir la page.
L'intérêt du Javascript, c'est que c'est exécuté côté client, donc la page est appelée une seule fois.

signaler à un administrateur
Commentaire de The_magicien le 12/08/2006 13:40:19

Oui d'accord, mais le problème du javascript, comme il est du côté client, si la date et / ou l'heure est mal règlée chez le visiteur, le code est faussé et ne présente plus aucun intérêt...

signaler à un administrateur
Commentaire de franco_se le 17/08/2006 14:55:09

perso, à la base, je calculais le nombre de seconde en utilisant la fonction PHP time() (qui renvoie le timestamp UNIX en seconde ) .
par exemple, si l'on veut qu'un membre attende 20sec, j'enregistre le time() ds ma base de donnée lorsque le membre arrive la 1ere fois su la page , puis j'utilise un code du style
$tps_sec = $time_bdd - time()
cela evite d'avoir des pb ac les temps coté client ou seveur

signaler à un administrateur
Commentaire de xloadx le 15/04/2007 23:14:16

Plus simple, plus direct, pour les débutants:

http://www.javascriptfr.com/code.aspx?ID=42289

signaler à un administrateur
Commentaire de lordbdp le 19/05/2007 05:10:40

XLOADEX, tellement plus simple que les admins ont virés le script ! lol

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Redirection avec compte a rebours [ par twinsen60 ] BonjourJ'ai ce code ci :&lt;script language="javascript" type="text/javascript"&gt; &lt;!-- window.location.replace( "http://www.un-site.com/une-pag Compte a rebours [ par Tilix ] Salut, J'ai trouv&#233; ce petit compte &#224; rebours, mais j'ai besoin de l'am&#233;liorer... &lt;SCRIPT LANGUAGE="JavaScript"&gt; &lt;!-- function Compte a rebours [ par ptitdragonvert ] Bonjour,Je cherche un compte a rebours en javascript avec le decompte 'H:M:S' et la possibilité de pouvoir en mettre plusieurs sur une meme page.Moi j Décompte (compte a rebours) qui affiche le nombre de mois, de jour, d'heure, de minutes de seconde qui reste avant un évenement [ par slashf ] salut a tous comme le titre le montre j'ai besoin de créé un compte a rebours qui affiche le nombre de mois, de jour, d'heure, de minutes de seconde q Compte à rebours [ par CSIBern ] Bonjour à tous,Je dois créer un petit site concernant un tournois.Pour ça je comptais insérer un compte à rebours donnant le temps jusqu'à l'événement créer un compte à rebours à l'heure du serveur [ par ajor ] Bonjour à tous,J'aimerais pour mon site, créer un compte à rebours qui fonctionne à l'heure du serveur, afin que tous les client aient exactement le m Compte a rebours pour mon site [ par jim0907 ] Bonjour, Cela fait plusieurs jour que je cherche sur internet un compte a rebours pour mon site, je ne trouve pas du tout ce qu'il me faut alors j'ai compte a rebour space [ par quitues ] Je recherche un compte à rebours, un décompte space car il démarre du chargement de la page et dé kil s'arrête (par ex. dans 5 sec.), le visiteur est lien + popup + redirection [ par apz ] salut,j'aimerias bien trouve une solution à mon probleme :- dans un menu (page index.php), l'utilisateur doit cliquer sur un lien.- un popup s'ouvrira contrer une redirection [ par KapS ] voilà, suite du post liens??. j'ai un prob avec des liens. pour reprendre le probleme, lorsque ce lien sur trouve sur mon disque dur, celui ci ouvre w


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.