2017-03-18 30 views
0

我有一個「var rgb」,它爲div中的每次點擊生成RGB顏色。現在我想隨機將它作爲背景顏色應用於其中一個div的「#遊戲」中。我該怎麼做?JS:我如何使用生成的隨機數並將其設置爲div的背景色

的index.html

<header> 
    <p class="great">xxx</p> 
    <p id="rgb">RGB(143, 80, 16)</p> 
    <p class="great">xxxx</p> 
</header> 

<nav> 
    <div id="game"> 
    <div id="newColors">NEW COLORS</div> 
    <div id="result">RESULT</div> 
    <div id="easy"><span>EASY</span> <span>HARD</span></div> 
    </div> 
</nav> 


    <div id="game"> 
    <div class="firstSquare"></div> 
    <div class="secondSquare"></div> 
    <div class="thirdquare"></div> 



    <div class="firstSquare"></div> 
    <div class="secondSquare"></div> 
    <div class="thirdquare"></div> 
    </div> 

的script.js

var r = Math.floor(Math.random() * 255); 
    var g = Math.floor(Math.random() * 255); 
    var b = Math.floor(Math.random() * 255); 
    var rgb = "RGB(" + r + "," + g + "," + b + ")"; 

    var colorRGB = document.getElementById("rgb"); 
    var headerRGB = document.getElementById("newColors"); 
    var squareOne = document.getElementById("one"); 

    headerRGB.addEventListener("click", function() { 
    colorRGB.textContent = rgb; 
    squareOne.style.backgroundColor = "rgb"; 
    }); 
+0

'el.style.backgroundColor =「RGB(0 ,0,0)';' –

+0

你有rgb的引號,你爲什麼要將文本顏色設置爲與bg相同? –

回答

1

rgb是一個變量,而不是字符串。你不小心把它放在引號中。嘗試:

squareOne.style.backgroundColor = rgb 

另外,如果你想生成每次點擊一個新的隨機顏色,把你的隨機邏輯的事件監聽器裏:

var colorRGB = document.getElementById("rgb") 
var headerRGB = document.getElementById("newColors") 
var game = document.getElementById("game") 

headerRGB.addEventListener("click", function() { 
    var r = Math.floor(Math.random() * 255) 
    var g = Math.floor(Math.random() * 255) 
    var b = Math.floor(Math.random() * 255) 
    var rgb = "RGB(" + r + "," + g + "," + b + ")" 

    colorRGB.textContent = rgb 
    var div = game.children[Math.floor(Math.random() * game.children.length)] 
    div.style.backgroundColor = rgb 
}) 
+0

不知道爲什麼我做了引號:)。無論如何,重點是將顏色應用於隨機div。每個div都是一個正方形,我不想每次都用這種顏色有不同的正方形 – fields

+0

我剛剛編輯過這個帖子。請注意,您需要從導航元素中移除重複的「遊戲」ID才能使其工作。 – gyre

+0

@fields我做的改變是否做了你所要求的? – gyre

相關問題