Question

J'ai un script qui anime une petite DIV apparaissant sur la page. Tout fonctionne correctement dans IE et dans FF si je supprime le DOCTYPE, mais lorsque le DOCTYPE est XHTML / Transitional, dans Firefox, la largeur ne change pas.

this.container.style.visibility = "visible";
alert("this.container.style.width before = " + this.container.style.width)
this.container.style.width = this.width;
alert("this.container.style.width after = " + this.container.style.width); 
this.container.style.height = this.height;

Dans IE et dans FF sans DOCTYPE, la première alerte indique 0 et la seconde indique 320 (la largeur définie ailleurs dans le code)

dans FF, avec le DOCTYPE vers XHTML / Transitional, les deux alertes affichent 0. Avez-vous une idée de ce qui se passe ici? Je pense que je devrais peut-être définir explicitement les positions sur les DIV dans Transitional, mais je ne suis pas sûr.

Était-ce utile?

La solution

Avez-vous essayé de définir:

this.container.style.visibility = "visible";
alert("this.container.style.width before = " + this.container.style.width);
this.container.style.width = this.width + 'px';
alert("this.container.style.width after = " + this.container.style.width);
this.container.style.height = this.height + 'px';

//Note the 'px' above

Je trouve qu'essayer de définir la largeur / hauteur d'un nombre, sans les unités, peut causer des problèmes.

Autres conseils

Vous pouvez utiliser:

document.getElementById("td").style.visibility="hidden";
document.getElementById("td").style.display="none";

au lieu de la propriété width.

Cela fonctionne!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top