Help! sur des "array"

Fermé
moms31880 Messages postés 5 Date d'inscription mercredi 16 janvier 2008 Statut Membre Dernière intervention 17 janvier 2008 - 16 janv. 2008 à 09:49
youssefb Messages postés 16 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 20 juin 2008 - 18 janv. 2008 à 14:00
Bonjour,

Je suis entrain d'essayer de faire un agenda avec un script existant (j'ai oublié, je suis nul en prg...),je voudrais créer une fenetre qui s'ouvre quand on passe sur un jour férié, dans cette fen^tre je voudrais y mettre du texte et des liens.

Voici un extrait du script et les array sont les jours féries:

var ferie=new Array("01/01","01/05","08/05","14/07","15/08","01/11","11/11","25/12");

Merci de votre aide

7 réponses

youssefb Messages postés 16 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 20 juin 2008
16 janv. 2008 à 10:06
Ce qui m'etonne c'est que avec cette ligne javascript on pourra pas beaucoup cerner tes besoins! montre nous tout l'agenda et tes scripts pour pouvoir savoir et page html.

sinon voici une méthode pour réaliser ce que t'as demandé (selon ce que j'ai compris)!

Tu met entre tes balises head ce script :

<script language="javascript">
<!--
function popupcentree(page,largeur,hauteur,options) {
var top=(screen.height-hauteur)/2; var left=(screen.width-largeur)/2; window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options); }
-->
</script>

Tu va sur la balise html (<a>, <span>, ... ) du jour férié dont tu met comme dans cet exemple (avec un lien <a> ici):

"menubar=no,statusbar=no" etant les options de ta popup :
- menubar : barre des menus
- statusbar : barre d'etat
etc... tu peux en ajouter d'autres t'as qu'a jeter un oeil ici : https://www.toutjavascript.com/reference/ref-window.open.php

400 etant la largeur et 500 la hauteur à changer selon tes besoins aussi !

<a onmouseover="popupcentree("lien_de_ta_page.html",400,500,"menubar=no,scrollbars=no,statusbar=no"); return false;"></a>

Bonne Chance
0
moms31880 Messages postés 5 Date d'inscription mercredi 16 janvier 2008 Statut Membre Dernière intervention 17 janvier 2008
16 janv. 2008 à 12:17
voici ma page complète:

<html>

<head>
<title>Sans titre</title>
<meta name="generator" content=" ">
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<p> </p>
<script>
<!-- DEBUT DU SCRIPT -->

<!-- Script développé par Olivier Hondermarck -->
<!-- D'autres scripts et des conseils sur https://www.toutjavascript.com/main/index.php3 -->
/*Script téléchargé sur EasyScript (www.easy-script.com)*/

var dateamf = prompt('Choisissez une année','');
</script>
<script language="JavaScript">

// Ici on déclare les dates des jours fériés fixes
var ferie=new Array("01/01","01/05","08/05","14/07","15/08","01/11","11/11","25/12");
var mois=new Array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");

function disp(txt) { document.write(txt) }
function estFerie(j,m) {
var nb=ferie.length;
var test=false;
for(var i=0;i<nb;i++) {
if ((ferie[i].substring(0,2)==j)&&(ferie[i].substring(3,5)==m)) return true;
}
return false;
}
function calendar(m, a) {
var d_jour=new Date();
var d=new Date(a,m-1,1);
var dfin=new Date(a,m-1,1);
var nb_jour=31;
var aff_j="";
for(var k=32;k>27;k--) {
dfin.setMonth(m-1); //lwf
dfin.setDate(k);
if (dfin.getMonth()!=m-1) {nb_jour=k-1;}
}

var j1=d.getDay(); if (j1==0) j1=7;
var jour=0;
disp("<br><font size=2 face=Verdana color=#FFCC00><CENTER><B>"+mois[d.getMonth()]+" "+a+"</B></CENTER></FONT>");
disp("<TABLE border=0 bgcolor='#0069B3' cellspacing=0 cellpadding='2'>");
disp("<TR align='center' bgcolor='#B8C8FE'><TD width='10'>L</TD><TD width='10'>M</TD><TD width='10'>M</TD><TD width='10'>J</TD><TD width='10'>V</TD><TD width='10'>S</TD><TD width='10'>D</TD></TR>");
for(var i=0;i<6;i++) {
disp("<TR>");
for (j=0;j<7;j++) {
jour=7*i+j-j1+2;
aff_j=jour;
if ((jour==d_jour.getDate())&&(m==d_jour.getMonth()+1)) {aff_j="<FONT size='-1' color='#CC0000' face='Verdana'>"+jour+"</FONT>";}
if ((7*i+j>=j1-1)&&(jour<=nb_jour)) {
if ((j==6)||(estFerie(jour,m))) disp("<TD width='10' bgcolor='#66FF66' align='center'><FONT face='Verdana' size='-1' color='#000000'>"+aff_j+"</FONT></TD>");
else disp("<TD width='10' bgcolor='#FFFFFF' align='center'><FONT face='Verdana' size='-1' color='#000000'>"+aff_j+"</FONT></TD>");
}
else disp("<TD width='10' bgcolor='#FFFFFF'><FONT size=-1> </TD>");

}
disp("</TR>");
}
disp("</TABLE>");
}
function annee(an) {
disp("<TABLE cellspacing=15>");
for (var i=0;i<3;i++) {
disp("<TR>");
for (var j=0;j<4;j++) {
disp("<TD align='center'>");
calendar(i*4+j+1,an);
disp("</TD>");
}
}
disp("</TABLE>");
}
</script>

<table cellspacing=0 border=0 width=100%> <tr>
<td><p align="center"><font color=red size=4 face=Verdana><b>Agenda <script language=javascript>document.write(dateamf);</script> </b><br></font>
<script language="JavaScript"><!--
annee(dateamf);
<!-- FIN DU SCRIPT -->
</script>
</body>

</html>

Merci de votre aide
0
youssefb Messages postés 16 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 20 juin 2008
16 janv. 2008 à 15:08
Voila Mr :
---------------------------------------------------------------------------------------
<html>

<head>
<title>Sans titre</title>
<meta name="generator" content=" ">
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<p> </p>
<script>
<!-- DEBUT DU SCRIPT -->

<!-- Script développé par Olivier Hondermarck -->
<!-- D'autres scripts et des conseils sur https://www.toutjavascript.com/main/index.php3 -->
/*Script téléchargé sur EasyScript (www.easy-script.com)*/

var dateamf = prompt('Choisissez une année','');
</script>
<script language="JavaScript">

// Ici on déclare les dates des jours fériés fixes
var ferie=new Array("01/01","01/05","08/05","14/07","15/08","01/11","11/11","25/12");
var mois=new Array("Janvier","Février","Mars","Avril","Mai ","Juin","Juillet","Août","Septembre","O ctobre","Novembre","Décembre");

function disp(txt) { document.write(txt) }
function estFerie(j,m) {
var nb=ferie.length;
var test=false;
for(var i=0;i<nb;i++) {
if ((ferie[i].substring(0,2)==j)&&(ferie[i].substring(3,5)==m)) return true;
}
return false;
}
function calendar(m, a) {
var d_jour=new Date();
var d=new Date(a,m-1,1);
var dfin=new Date(a,m-1,1);
var nb_jour=31;
var aff_j="";
for(var k=32;k>27;k--) {
dfin.setMonth(m-1); //lwf
dfin.setDate(k);
if (dfin.getMonth()!=m-1) {nb_jour=k-1;}
}

var j1=d.getDay(); if (j1==0) j1=7;
var jour=0;
disp("<br><font size=2 face=Verdana color=#FFCC00><CENTER><B>"+mois[d.getMonth()]+" "+a+"</B></CENTER></FONT>");
disp("<TABLE border=0 bgcolor='#0069B3' cellspacing=0 cellpadding='2'>");
disp("<TR align='center' bgcolor='#B8C8FE'><TD width='10'>L</TD><TD width='10'>M</TD><TD width='10'>M</TD><TD width='10'>J</TD><TD width='10'>V</TD><TD width='10'>S</TD><TD width='10'>D</TD></TR>");
for(var i=0;i<6;i++) {
disp("<TR>");
for (j=0;j<7;j++) {
jour=7*i+j-j1+2;
aff_j=jour;
if ((jour==d_jour.getDate())&&(m==d_jour.getMonth()+1)) {aff_j="<FONT size='-1' color='#CC0000' face='Verdana'>"+jour+"</FONT>";}
if ((7*i+j>=j1-1)&&(jour<=nb_jour)) {
if ((j==6)||(estFerie(jour,m))) {
disp("<TD width='10' bgcolor='#66FF66' align='center'><FONT face='Verdana' size='-1' color='#000000'><a href=\"popup.php?jour="+aff_j+"&mois="+m+"&an="+a+"\" onclick=\"ouvre_popup(this.href); return false;\">"+aff_j+"</a></FONT></TD>");
}else disp("<TD width='10' bgcolor='#FFFFFF' align='center'><FONT face='Verdana' size='-1' color='#000000'>"+aff_j+"</FONT></TD>");
}
else disp("<TD width='10' bgcolor='#FFFFFF'><FONT size=-1> </TD>");

}
disp("</TR>");
}
disp("</TABLE>");
}
function annee(an) {
disp("<TABLE cellspacing=15>");
for (var i=0;i<3;i++) {
disp("<TR>");
for (var j=0;j<4;j++) {
disp("<TD align='center'>");
calendar(i*4+j+1,an);
disp("</TD>");
}
}
disp("</TABLE>");
}

function ouvre_popup(page) {
var largeur = 500;
var hauteur = 500;
var top=(screen.height-hauteur)/2; var left=(screen.width-largeur)/2;
window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur);
}
</script>

<table cellspacing=0 border=0 width=100%>
<tr>
<td>
<p align="center"><font color=red size=4 face=Verdana>
<b>Agenda
<script language=javascript>document.write(dateamf);</script>
</b>
<br>
</font>
<script language="JavaScript">
<!--
annee(dateamf);
<!-- FIN DU SCRIPT -->
</script>
</body>
</html>
---------------------------------------------------------------------------------------

Attention t'aura peut être des &qu ot; qui se sont glissés a la place des doubles guillemets (") tu devra les corriger quand tu copie le code.

sinon voila les modifs :

Ajout : function ouvre_popup(page) {
var largeur = 500;
var hauteur = 500;
var top=(screen.height-hauteur)/2; var left=(screen.width-largeur)/2;
window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur);
}

Modif :
disp("<TD width='10' bgcolor='#66FF66' align='center'><FONT face='Verdana' size='-1' color='#000000'><a href=\"popup.php?jour="+aff_j+"&mois="+m+"&an="+a+"\" onclick=\"ouvre_popup(this.href); return false;\">"+aff_j+"</a></FONT></TD>");

Remplace popup.php par ta page sinon les paramètres je les ais ajoutés au cas ou tu utilisera une page dynamique en passant les variables en GET.

Bonne chance, tiens moi au courant de comment ça se passe!
0
moms31880 Messages postés 5 Date d'inscription mercredi 16 janvier 2008 Statut Membre Dernière intervention 17 janvier 2008
16 janv. 2008 à 15:33
C'est super!!! merci beaucoup cela fonctionne bien mais ce n'est pas exactement ce que je veux, je me suis mal exprimé.
Je suis un peu chiant...j'aurai voulu exactement une fen^tre qui s'ouvre quand je clique sur un jour férié ou je puisse y mettre du texte dedans ET un lien.

Merci pour ta patience
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
moms31880 Messages postés 5 Date d'inscription mercredi 16 janvier 2008 Statut Membre Dernière intervention 17 janvier 2008
16 janv. 2008 à 16:04
J'ai oublié de signaler aussi que chaque jour ferié (ou autres) aura sa propre fenêtre
0
moms31880 Messages postés 5 Date d'inscription mercredi 16 janvier 2008 Statut Membre Dernière intervention 17 janvier 2008
17 janv. 2008 à 07:55
ou alors peut-être plus simple:
Pouvez-vous m'indiquer comment on modifie (longueur, largeur, font ) la bulle uitlisée avec la balise title.

Merci de votre aide
0
youssefb Messages postés 16 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 20 juin 2008
18 janv. 2008 à 14:00
Pour la longueur et la largeur tu l'as sur ton script javascript à ce niveau :

function ouvre_popup(page) {
var largeur = 500;
var hauteur = 500;
var top=(screen.height-hauteur)/2; var left=(screen.width-largeur)/2;
window.open(page,"","top="+top+",left="+left+",width=&q uot;+largeur+",height="+hauteur);
}

pour le font tu peux l'ajouter selon la page dans ce lien en l'automatisant bien sur avec javascript c'est seulement un exemple :

popup.php?jour=aff_j&mois=m&an=a&font-size=1&=font-text=arial&font-color=red

je te conseille du css pour gerer le font dans ta nouvelle page.

pour changer de contenu de la page automatiquement t'as qu'a utiliser php et selon le parametre qu'il recoit il met un contenu dynamique.

si tu veux faire dans le statique, t'as qu'a mettre un lien different selon le jour ferié et selon tes conditions.
0