2016-08-30 188 views
0

我試圖編程一個按鈕,它從顏色數組中隨機選取一種顏色並在這四個值之間進行選擇,並將顏色賦予一個新元素。從數組中挑選隨機顏色

他們是在CSS中定義的類。它不能正常工作,因爲我沒有看到我在做什麼的問題。

<script> 
    var colorArray = [ '.st1', '.st2', '.st3', '.st4']; 
    var randomColor = Math.floor(Math.random()*colorArray.length); 
    </script> 

     <label> 
     Class: <input type="text" id="new-class" value="randomColor"> 
     </label> 

    <button type="button" onclick="addObject()"> 
    Make Ball 
    </button> 

任何人都可以看到我做錯了什麼?

+2

設置不能使用JavaScript的變量值HTML屬性這樣的功能。 – Phylogenesis

+0

你想讓你的球變成隨機顏色嗎? - 價值將不會在你的輸入中的JavaScript ... –

+0

這不會解決你的問題,但它是你想要的下一步...我想http://www.w3schools.com/ jsref/prop_hidden_​​value.asp –

回答

1

要將JavaScript變量用作HTML值,必須將其設置爲javascript。因此,要設置你的value屬性,像這樣做: 而你需要用的代碼,你在onClick

<script> 
    function addObject(){  
     var colorArray = ['.st1', '.st2', '.st3', '.st4']; 
     var randomColor = Math.floor(Math.random() * colorArray.length); 
     console.log(colorArray[randomColor]); 
     document.getElementById("new-class").className = colorArray[randomColor]; 
    } 
</script> 
+2

我將問題閱讀爲希望更改元素的類而不是值。 –

+0

我剛剛向他展示瞭如何在他嘗試使用它的地方獲取變量的值。在html中,它是一個'value'屬性。你可以設置任何你想要的屬性 –

相關問題