Bonjour, tu peux essayer de changer ta fonction visibilite par ceci :
function visibilite(tw)
{
for(var u=0;u<tw.length;u++){
tn=tw[u];
tn.style.display=(tn.style.display=="none") ? "" : "none";
}
Ça devrait fonctionner, mais je n'ai pas testé. Si ça ne fonctionne pas, je testerai pour trouver l'erreur mais à première vue, il ne semble pas en avoir.
Quant à ta deuxième demande, je ne la comprends pas, je passerai donc et si tu veux tu m'expliqueras
tb2[0].innerHTML += "";
tb2[1].innerHTML += "";
tb2[6].innerHTML += "";
tb2[11].innerHTML += "";
Tu pourrais le transformer en ceci :
tb3=[0,1,6,11];
tb4=[
[1,2,3,4,5],
[6,7,8,9,10],
[11,12,13,14,15],
[16,17,18,19,20]
];
for(var q in tb3){
tb2[tb3[q]].innerHTML+="";
}
Il faut que je l'avoue, la syntaxe est lourde, je ne m'attends donc pas à ce que ça marches du premier coup. Si tu as compris, j'ai fait un tableau des numéros des éléments que tu voulais modifié, un tableau des numéros que tu rajoutais en paramètres. Ensuite pour chacun des numéros j'ai modifié le innerHTML en mettant comme paramètre ceci :
var chaine="[tb2["+tb4[q].join("],tb2[")+"]]";
Je tiens à te l'expliquer. D'abord on rajoute la chaîne [tb2[. Ensuite de cela, on prend le tableau associé au numéro, c'est à dire tb4[q], on utilise la fonction join, qui mettra le tableau ensemble en mettant entre chacun le texte ],tb2[[. Ensuite, on ferme la chaîne avec ]]];
Compressé manuellement, cela donne :
tb3=[0,1,6,11];tb4=[[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20]];for(var q in tb3){tb2[tb3[q]].innerHTML+=""}
Cela donne 240 caractères, contre 606 contre celle que tu m'as donné, c'est donc beaucoup plus court et personnellement, je crois que ça se compresse encore . J'ai modifié légèrement la fonction que tu m'as donné car il me semble qu'il y a des fautes de syntaxe, je t'indique où en bleu :
tb2[0].innerHTML += "";
Vérifie ceci. Si ça ne marche pas, merci de me donner les erreurs renvoyé le gestionnaire
JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !
fr.jsinfo.wikia.com