Afficher un message
Vieux 30/06/2007, 20h42   #18
ASM
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: plier/déplier tableau

Olivier Miakinen a écrit :
> Le 30/06/2007 11:54, Laurent vilday a écrit :
>>> Sans compter qu'il est plus facile
>>> de positionner une valeur à "none" ou "" que de rajouter ou supprimer
>>> une classe à des éléments qui parfois en contiennent déjà, parfois non.

>> Possible oui. Sauf par exemple quand on a un élément inline (que tu ne
>> contrôles pas) avec un style.display = 'block', qu'on le cache puis
>> l'affiche et que ohh ohh, le layout a changé...

>
> Il me semble que ça ne pourrait arriver que si tu positionnes le
> display à 'block' en JavaScript et pas s'il est positionné en CSS.
> Or je n'arrive pas à imaginer un seul cas dans lequel cela pourrait
> être utile (par opposition à « tordu »). En outre, si vraiment tu
> arrives à imaginer un tel cas, alors on peut supposer que tu saches
> quelle valeur tu as mise. Et pour faire bonne mesure, il suffit
> alors de le sauver au moment de le mettre à 'none' :
>
> hide() {
> if (this.style.display != 'none') {
> this.saveDisplay = this.style.display;
> this.style.display = 'none';
> }
> }
>
> show() {
> /* il faut peut-être verifier que this.saveDisplay est défini */
> this.style.display = this.saveDisplay;
> }
>
> Je me trompe ?


Dans le même genre :

showHide(quoiId) {
quoiId = document.getElementById(quoiId);
var old = typeof(quoiId.saveDisplay)!='undefined'?
quoiId.saveDisplay : quoiId.style.display;
quoiId.style.display = quoiId.style.display==old? 'none' : old;
quoiId.saveDisplay = old;
}

ou :

showHide(quoiId) {
quoiId = document.getElementById(quoiId);
if(typeof(quoiId.saveDisplay)=='undefined')
quoiId.saveDisplay = quoiId.style.display;
quoiId.style.display = quoiId.style.display==quoiId.saveDisplay?
'none' : quoiId.saveDisplay;
}



--
Stephane Moriaux et son (moins) vieux Mac
  Réponse avec citation
 
Page generated in 0,06475 seconds with 9 queries