2017-06-22 37 views
0

你好我已經使代碼的和平,以便改變盒子的顏色,當鼠標進入它的區域。在mouseenter上有一個事件,我做了一個函數,它應該從Array返回一個隨機顏色。它似乎沒有工作。將盒子的顏色更改爲事件上的隨機數組元素

$("#colorBox1Id").mouseenter(function(){ 
    $(this).css("background-color", SelectRandomColor) 
}); 


function SelectRandomColor() { 
    var colorArray= new Array("blue", "red", "yellow", "green"); 
    var selectedColor = colorArray[Math.floor(Math.random*colorArray.length)]; 

    return selectedColor; 
}` 

我希望有人有一個建議來解決這個問題。

+2

你打電話時隨機忘了括號,它應該是的Math.random() – william205

回答

0

嘗試colorArray[Math.floor(Math.random()*colorArray.length)];

$("#colorBox1Id").mouseenter(function() { 
 
    $(this).css("background-color", SelectRandomColor) 
 
}); 
 

 

 
function SelectRandomColor() { 
 
    var colorArray = new Array("blue", "red", "yellow", "green"); 
 
    var selectedColor = colorArray[Math.floor(Math.random() * colorArray.length)]; 
 

 
    return selectedColor; 
 
}
#colorBox1Id { 
 
    width: 100px; 
 
    height: 100px; 
 
    border: 1px solid #ddd; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="colorBox1Id"> 
 
    Colorbox 
 
</div>

+0

它應該是'Math.floor(的Math.random()*(colorArray.length + 1))'帶來近乎完美的均勻分佈。 – Przemek

0

你忘了打電話給random

var selectedColor = colorArray[Math.floor(Math.random()*colorArray.length)]; 
                ^^