2012-06-16 58 views
4

基本上,我的一個同伴正在練習JS,他有一個測試基本站點的想法。所以我說我們會有一場比賽來完成它。在這一點上,我們都遇到了一個錯誤。我們在JS中創建了一種顏色。但是,當我們需要輸出它不起作用。我有這個。JS - 使用變量設置Div背景顏色

document.getElementById("outputColor").style.backgroundColor=currentColor; 

如果當前顏色是通過這種

part1 = Math.floor(Math.random() * (255 - 0 + 1)) + 0; 
part2 = Math.floor(Math.random() * (255 - 0 + 1)) + 0; 
part3 = Math.floor(Math.random() * (255 - 0 + 1)) + 0; 
currentColor = "\"rgb (" + part1 + ", " + part2 + ", " + part3 + ")\""; 

提出請辭「當前顏色」將意味着該公司預計currentColor的價值。不是實際的變量值。

希望是有道理的。這是可能的,還是我們在錯誤的樹上咆哮?

感謝

編輯: 它有產生密切相關它已經

#outputColor 
{ 
    height: 100px; 
    width: 100px; 
    background-color: rgb(0,0,0); 
} 

編輯CSS樣式:解決了,解決辦法是

currentColor = "rgb(" + part1 + ", " + part2 + ", " + part3 + ")"; 

謝謝大家!

回答

3

有太多的雙引號,使用此:

currentColor = "rgb (" + part1 + ", " + part2 + ", " + part3 + ")"; 
+1

謝謝,這幾乎是它只是rgb後有一到多個空格。正確的答案是'currentColor =「rgb(」+ part1 +「,」+ part2 +「,」+ part3 +「)」;' 謝謝:) – Kyle93

1
currentColor = "rgba(" + part1 + ", " + part2 + ", " + part3 + ",0)"; 
1
currentColor = "rgb(" + part1 + ", " + part2 + ", " + part3 + ")"; // RGB 

或使用十六進制格式

currentColorHex="#"+(part1).toString(16)+(part2).toString(16)+(part3).toString(16); 

DEMO.

+0

感謝您的回答,但Dr.Molle擊敗了它。我設法從他那裏得到它。你是對的,謝謝你的回覆。 + 1'd – Kyle93

+0

不客氣:-) –