2008-12-08 51 views
7

我有一個腳本,動畫在頁面上彈出一個小DIV。它在IE中運行良好,在FF中如果我刪除了DOCTYPE,但是當DOCTYPE是XHTML/Transitional時,在Firefox中,寬度不會改變。JavaScript的style.width不工作在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,和第二表示320(其爲寬度在代碼別處設置)

在FF

,與DOCTYPE到XHTML/Transitional,兩個警報顯示0.任何想法這裏發生了什麼?我想我可能需要在Transitional中的DIV上明確設置職位,但我不確定。

回答

15

你試過設置:

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 

我發現,試圖建立一個數的寬度/高度,沒有單位可能會引發問題。

+1

yup!那樣做了!謝謝您的幫助! – nerdabilly 2008-12-08 15:55:45

+0

沒問題,很高興幫助! – scunliffe 2008-12-08 18:52:13

0

您可以使用:

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

,而不是width屬性。

它的工作原理!