8

ページにポップアップする小さな DIV をアニメーション化するスクリプトがあります。DOCTYPE を削除すると IE と FF ではすべて正常に動作しますが、DOCTYPE が XHTML/Transitional の場合、Firefox では幅が変わりません。

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;

IE および DOCTYPE のない FF では、最初のアラートは 0 を示し、2 番目のアラートは 320 を示します (これは、コードの他の場所で設定された幅です)。

FF で、DOCTYPE を XHTML/Transitional にすると、両方のアラートが 0 を表示します。ここで何が起こっているのか分かりますか? Transitional で DIV の位置を明示的に設定する必要があるかもしれないと考えていますが、よくわかりません。

4

2 に答える 2

21

設定を試しましたか:

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

単位なしで数値の幅/高さを設定しようとすると、問題が発生する可能性があることがわかりました。

于 2008-12-08T15:42:07.603 に答える
-1

以下を使用できます。

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

width プロパティの代わりに。

できます!

于 2013-03-21T08:00:30.803 に答える