Cacher plusieurs div sans écrire tous les arguments javascript/html

Résolu
ornorme Messages postés 14 Date d'inscription mardi 17 février 2009 Statut Membre Dernière intervention 21 juin 2009 - 21 juin 2009 à 18:35
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 22 juin 2009 à 09:18
bonjour, cette fois ci j'ai mon code j'aimerais juste le rendre plus pratique mais j'ignore comment:

_voici le script ds le <head>

function Masque_OBJ(){
     var Arg = arguments;
     var Obj;
     for( var i=0; i< Arg.length; i++){
     Obj = document.getElementById( Arg[i]);
     if( Obj){
     Obj.style.visibility = "hidden";
     Obj.style.display = "none";
     }
     }
     }

_le problème est lorsque j'appelle la fonction ds le html :

onclick="Masque_OBJ('work02','work03','work04','work05','work06','work07','work08','work09')

_la question, c'est comment faire pour qu'une variable "var a=<9" par exemple me permette de reduire mon code dans le html genre :

onclick="Masque_OBJ('work'+a) <--- simplification désirée...sniff!

merci d'avance, en éspèrant que quelqu'un parle javascript!!!lol

6 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
21 juin 2009 à 18:49
Bonjour,

tu es sur le forum html/javascript, donc on cause javascript !

mais ta demande n'est pas assez précise !
c'est toujours de work02 à work"maxi" qu'il faut cacher ?
ou alors de work"mini" à work"maxi" ?

et peut-être tu peux faire totalement de manière différente
par exemple : si on ne montre qu'un seul div et qu'on cache celui affiché.

petite question pourquoi display ET visibility ??? display seul suffit non ?

Cordialement [mon Site] [M'écrire] Bul
3
jdmcreator Messages postés 647 Date d'inscription samedi 30 décembre 2000 Statut Membre Dernière intervention 20 juillet 2012 7
21 juin 2009 à 20:35
Tu peux appeler ta fonction dans une boucle :

for( var i=0; i< 9; i++){¸
Masque_OBJ("work0"+i);
}

Cordialement

JDMCreator
3
ornorme Messages postés 14 Date d'inscription mardi 17 février 2009 Statut Membre Dernière intervention 21 juin 2009
21 juin 2009 à 19:07
_alors le display et le visibiliy c'est pour un max de compatibilité car le site doit etre lisible sur un max de navigateur dc je voulais etre sur!!!

_en fait g 9 div et jaimerais que seul une soit visible a chaque fois!!mais je ne c'est pas comment, dans la fonction javascript, faire en sorte qu'il "shake" le html et trouve le display pour le passer en "none" comme ta dit...comment ne montrer qu'une div et cacher celle qui est visible...quelque soit la div!!!!!
0
ornorme Messages postés 14 Date d'inscription mardi 17 février 2009 Statut Membre Dernière intervention 21 juin 2009
21 juin 2009 à 19:16
_en fait lorsque je clic sur un work je veux qu'il saffiche et cache l'autre!!!!

geoffrey
0

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

Posez votre question
ornorme Messages postés 14 Date d'inscription mardi 17 février 2009 Statut Membre Dernière intervention 21 juin 2009
21 juin 2009 à 19:22
ah oui!en fait j'ai donc 9 div et deu fonction..la deuxième c'est pour afficher la div!:
function Affiche_OBJ(){
     var Arg = arguments;
     var Obj;
     for( var i=0; i< Arg.length; i++){
     Obj = document.getElementById( Arg[i]);
     if( Obj){
     Obj.style.visibility = "visible";
     Obj.style.display = "";
     }
     }
     }

_et donc sur chaque div j'ai:
onclick="Masque_OBJ('work02','work03','work04','work05','work06','work07','work08','work09') ; Affiche_OBJ('work01')
_c'est donc comment changer ou fusionné ces deux fonction javascript pour allégé... j'aimerais vraiment rèussir a apprendre!mais je galère un peu...snifff
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
22 juin 2009 à 09:18
donc 1 seule div est affichée ?
ne cache que celle là !

var prec=document.getElementById("work01");
function Affiche_OBJ(le_div)
{   prec.style.display="none";
    prec=document.getElementById("le_div);
    prec.style.display="inline";
}

et l'appel : Affiche_OBJ("work##")
toute boucle est inutile à priori !
0
Rejoignez-nous