Super !
Merci beaucoup.
Ca marche, mais j'ai une difficulté supplémentaire, et un problème.
Difficulté :
Chacune de mes cellules peut avoir une classe différentes (.ok, .warn, ...etc), parmi 4.
Pour faire vite, j'ai recopié 4 fois le code de redimensionnement dans les 2 alternatives. C'est assez moche.
, parce que si jamais j'ai d'autres classes ...
Curieusement j'ai trouvé une solution qui marche dans un cas (fermer) mais pas dans l'autre.
1 2
|
$(this).children('td').children().css("width","12em"); |
C'est-à-dire que si j'écris :
1 2
|
$(this).children('td').children().css("width","48em"); |
... ca marche pas !
Le problème :
Mon tableau (supposons qu'il ait la classe mon_tablo), et ses cellules ont des bordures définies comme suit:
1 2 3 4
| .mon_tablo * {
border : 2px ridgewhite;
border-collapse : collapse ;
} |
Les bordures sont conservées à l'ouverture, mais disparaissent à la fermeture...
Je ne comprends pas bien pourquoi...
Alors j'ai ajouté ceci :
$(this).children('td').css("border","2px ridge white");
Aussi bien en ouverture qu'en fermeture.
En fait, des fois ça marche et des fois non ... et je soupçonne un buug du navigateur (ff 3.5.3)...
Dès que j'ai un peu de temps, j'essaie une autre technique qui consisterait à avoir deux vraies classes css (open et close) dans mon fichier css, et utiliser la fonction toggleClass.
Bien évidemment, je ferai un retour ici.
J-L
Partager