Cacher Masquer un groupe de Div [Résolu]

fdthierry 99 Messages postés lundi 24 novembre 2003Date d'inscription 15 avril 2014 Dernière intervention - 7 févr. 2005 à 16:50 - Dernière réponse : fdthierry 99 Messages postés lundi 24 novembre 2003Date d'inscription 15 avril 2014 Dernière intervention
- 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
fdthierry 99 Messages postés lundi 24 novembre 2003Date d'inscription 15 avril 2014 Dernière intervention - 9 févr. 2005 à 09:25
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

Merci fdthierry 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 84 internautes ce mois-ci

Commenter la réponse de fdthierry
cs_roro06 732 Messages postés jeudi 2 janvier 2003Date d'inscription 29 octobre 2007 Dernière intervention - 8 févr. 2005 à 09:47
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
fdthierry 99 Messages postés lundi 24 novembre 2003Date d'inscription 15 avril 2014 Dernière intervention - 8 févr. 2005 à 15:32
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
fdthierry 99 Messages postés lundi 24 novembre 2003Date d'inscription 15 avril 2014 Dernière intervention - 8 févr. 2005 à 15:51
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
cs_roro06 732 Messages postés jeudi 2 janvier 2003Date d'inscription 29 octobre 2007 Dernière intervention - 8 févr. 2005 à 16:46
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
fdthierry 99 Messages postés lundi 24 novembre 2003Date d'inscription 15 avril 2014 Dernière intervention - 8 févr. 2005 à 17:06
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
fdthierry 99 Messages postés lundi 24 novembre 2003Date d'inscription 15 avril 2014 Dernière intervention - 8 févr. 2005 à 18:26
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
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 8 févr. 2005 à 21:36
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
cs_roro06 732 Messages postés jeudi 2 janvier 2003Date d'inscription 29 octobre 2007 Dernière intervention - 9 févr. 2005 à 09:16
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.