Cacher Masquer un groupe de Div

Résolu
fdthierry Messages postés 106 Date d'inscription lundi 24 novembre 2003 Statut Membre Dernière intervention 27 septembre 2019 - 7 févr. 2005 à 16:50
fdthierry Messages postés 106 Date d'inscription lundi 24 novembre 2003 Statut Membre Dernière intervention 27 septembre 2019 - 9 févr. 2005 à 09:25
Bonjour,

J'utilise ce code java:

<script language=JScript>
function ShowHideMenu(Div) {
if (Div.style.display=='none') {
Div.style.display='InLine';
}
else {
Div.style.display='none';
}
}
function MaskOtherMenu(Div) {
if (Div.style.display=='InLine') {
Div.style.display='none';
}
else {
Div.style.display='none';
}
}
</script>

Ceci dans le but d'afficher ou masquer mes Div.
J'ai à ce jour 4 Tableau différente qui utilise ce div
Sur onClick je fais un :
HideShowMenu(2002);MaskOtherMenu(2003);MaskOtherMenu(2004);MaskOtherMenu(2005);

N'y a t'il pas moyen de faire autrement?
Du style tous les Tableau autre que Div=2002 les masker ?

Actuellement, j'affiche un tableau 2002 en cliquant, si je reclique dessus il se masque.
Si je clique dessus 2003 et que 2002 est ouvert, il le ferme.
Mais à ce rythme, si j'ai 15 tableau, je devrais taper :MaskOtherMenu(Annee); autant de fois que j'aurais de tableau année !!!!!!

Auriez vous une idée?
Je me doute que c'est une exclusion avec If mais je n'arrive pas à la trouver

Merci pour votre aide,
Amicalement,
Thierry

9 réponses

fdthierry Messages postés 106 Date d'inscription lundi 24 novembre 2003 Statut Membre Dernière intervention 27 septembre 2019
9 févr. 2005 à 09:25
Merci infiniment,

Je ne savais pas que js était différent de javascript

Voici au final ce que j'ai mis grâce à tes précieux conseils:

function hideDivMois(divId)
{
if (divId.slice(0, 2)=="Mo")
{
document.getElementById(divId).style.visibility="hidden";
document.getElementById(divId).style.display="none";
}
}

Merci beaucoup,

Amicalement,
Thierry
3
cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
8 févr. 2005 à 09:47
Bonjour

Tu peux parcourir tous les div de ta page par la collection document.getElementsByTagName["div"]
C'est un tableau, donc ton premier div sera
document.getElementsByTagName["div"][0], le deuxième document.getElementsByTagName["div"][1] etc ...

Donc faire une function qui masque un div, du style :
function hideDiv(divId)
{
document.getElementById(divId).style.visibility="hidden";
document.getElementById(divId).style.display="none";
}

(une autre pour afficher le div, evidemment)

pour masquer tous les div, faire une boucle du genre :
for (i=0; i<document.getElementsByTagName("div").length; i++)
hideDiv(document.getElementsByTagName("div")[i].id);

Ceci à la condition que tous les div de ta page soient concernés.

Cordialement
Roro webDev
0
fdthierry Messages postés 106 Date d'inscription lundi 24 novembre 2003 Statut Membre Dernière intervention 27 septembre 2019
8 févr. 2005 à 15:32
Je vais regarder avec ce code,
Je t'en remercie par avance.

Mes différents "Tableau" sont en fait des balises Table /Table, et mes id div sont du style 'An2002', 'An 2003', 'An2004',....
Je vais explorer cette solution,

Merci beaucoup pour ton coup de main
0
fdthierry Messages postés 106 Date d'inscription lundi 24 novembre 2003 Statut Membre Dernière intervention 27 septembre 2019
8 févr. 2005 à 15:51
Pour être plus clair, rien de mieux que de mettre mon code exemple de ma présentation:

[# Novembre]



[# D&eacute;cembre]



12 Décembre,

25 Décembre



</td>
</tr>
</table>


</td>
</tr>
</table>

J'ai essayé avec ton code, mais j'avoue être un peu paumé, je comprends le système, je teste ce que j'envoie et j'efface tous les autres, facile comme ça, mais à mettre en pratique :o/
Bref, je continue mon exploration

Amicalement
Thierry
0

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

Posez votre question
cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
8 févr. 2005 à 16:46
Bonjour

Un petit exemple :
<style type="text/css">
<!--
.visu {
background-color: #FF6699;
}
-->
</style>
<script language="JavaScript" type="text/JavaScript">
function showDiv(divId)
{
hideAllDiv();
document.getElementById(divId).style.visibility="visible";
document.getElementById(divId).style.display="inline";
}


function hideDiv(divId)
{
document.getElementById(divId).style.visibility="hidden";
document.getElementById(divId).style.display="none";
}

function hideAllDiv()
{
for (i=0; i<document.getElementsByTagName("div").length; i++)
hideDiv(document.getElementsByTagName("div")[i].id);
}
</script>
</head>



[javascript:showDiv('an2001') 2001]

[javascript:showDiv('an2002') 2002]

&nbsp;

2001,

----

&nbsp;,
&nbsp;,
&nbsp;,

----

&nbsp;,
&nbsp;,
&nbsp;

2002,

----

&nbsp;,
&nbsp;,
&nbsp;,

----

&nbsp;,
&nbsp;,
&nbsp;

Cordialement
Roro webDev
0
fdthierry Messages postés 106 Date d'inscription lundi 24 novembre 2003 Statut Membre Dernière intervention 27 septembre 2019
8 févr. 2005 à 17:06
Ok merci, j'essaie cela de suite sur mon code, c'est on ne peut plus clair,

Merci d'avoir passé un peu de temps sur mon pb

Amicalement,
Thierry
0
fdthierry Messages postés 106 Date d'inscription lundi 24 novembre 2003 Statut Membre Dernière intervention 27 septembre 2019
8 févr. 2005 à 18:26
Ca marche presque
Le seul hic que j'ai, c'est que dans mon tableau, j'ai un autre tableau imbriqué comme dans l'exemple.
Donc pour chaque année, cela s'affiche et se masque sans soucis
mais lorsque dans mon tableau ainsi afficher, je clique sur un de mes mois, tout ce masque y compris mon mois
Je peux certainement exclure mes div qui sont du type:
Pour An2002 ça donne : Mo0210 Mo0211
Pour An2003 ça donne : Mo0305 Mo0306

J'ai copié le code java que j'ai nommé en 2 à la fin des trois fonctions.
Maintenant, il me reste à filtrer, peut on exclure par rapport au 2 première lettres par exemple?

Amicalement,
Thierry
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
8 févr. 2005 à 21:36
J'utilise ce code java:

<script language=JScript>



Y A UNE GROSSE DIFFERENCE ENTRE JAVA ET JS !!!



In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happyhttp://coucou747.hopto.org
0
cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
9 févr. 2005 à 09:16
Bonjour

Oui, il ya aussi une grande difference entre javascript et jscript.
Oui, j'avais bien mis :"Ceci à la condition que tous les div de ta page soient concernés."
Filtrer par rapport aux deux premières lettres est la première bonne idée qui vient à l'esprit, avec un tes du genre :
if (divId.slice(0, 2)=="Mo") par exemple.

Cordialement
Roro webDev
0
Rejoignez-nous