Cacher Masquer un groupe de Div [Résolu]

Messages postés
99
Date d'inscription
lundi 24 novembre 2003
Dernière intervention
15 avril 2014
- - Dernière réponse : fdthierry
Messages postés
99
Date d'inscription
lundi 24 novembre 2003
Dernière intervention
15 avril 2014
- 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
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
99
Date d'inscription
lundi 24 novembre 2003
Dernière intervention
15 avril 2014
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 119 internautes nous ont dit merci ce mois-ci

Commenter la réponse de fdthierry
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Dernière intervention
29 octobre 2007
0
Merci
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
Commenter la réponse de cs_roro06
Messages postés
99
Date d'inscription
lundi 24 novembre 2003
Dernière intervention
15 avril 2014
0
Merci
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
Commenter la réponse de fdthierry
Messages postés
99
Date d'inscription
lundi 24 novembre 2003
Dernière intervention
15 avril 2014
0
Merci
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
Commenter la réponse de fdthierry
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Dernière intervention
29 octobre 2007
0
Merci
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
Commenter la réponse de cs_roro06
Messages postés
99
Date d'inscription
lundi 24 novembre 2003
Dernière intervention
15 avril 2014
0
Merci
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
Commenter la réponse de fdthierry
Messages postés
99
Date d'inscription
lundi 24 novembre 2003
Dernière intervention
15 avril 2014
0
Merci
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
Commenter la réponse de fdthierry
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
33
0
Merci
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
Commenter la réponse de coucou747
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Dernière intervention
29 octobre 2007
0
Merci
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
Commenter la réponse de cs_roro06

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.