javascript style.width não funciona no firefox com doctype de transição
-
20-08-2019 - |
Pergunta
Eu tenho um script que anima uma pequena DIV aparecendo na página. Tudo funciona bem no IE e no FF se eu remover o DOCTYPE, mas quando o DOCTYPE é XHTML / Transição, no Firefox, a largura não muda.
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;
No IE e no FF sem DOCTYPE, o primeiro alerta diz 0, ea segunda diz 320 (que é o conjunto de largura em outras partes do código)
no FF, com o DOCTYPE para XHTML / transição, as alertas mostrar 0. Qualquer idéia do que está acontecendo aqui? Eu estou pensando que pode precisar de posições explicitamente definido no DIVs em Transição, mas eu não tenho certeza.
Solução
Você tentou definir:
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
Eu acho que tentar definir uma largura / altura de um número, sem que as unidades podem causar problemas.
Outras dicas
Você pode usar:
document.getElementById("td").style.visibility="hidden";
document.getElementById("td").style.display="none";
em vez de propriedade de largura.
Ele funciona!