2016-03-25 58 views
3

從數組中選擇一個值。我正在爲我的網站創建預加載器頁面。每次訪問者進入我的頁面時,我都希望頁面中間的圖標發生變化。我需要在數組中選擇一個變量或一個字符串。基於var

我的代碼:

$(document).ready(function() { 
    //randomly pick a number an pick an icon to show on main page 

    //Math.floor(Math.random() * 6) + 1 [from SOF] 

    var min = 1, 
    max = 8; 

    var number = Math.floor(Math.random() * (max - min + 1) + min); 

    var icons = ['preload/img/audio.svg', 'preload/img/bars.svg', 'preload/img/grid.svg', 'preload/img/oval.svg', 'preload/img/puff.svg', 'preload/img/rings.svg', 'preload/img/tail-spin.svg', 'preload/img/three-dots.svg']; 

    alert(number); 
}); 

我已經試過alert(icons.get(numbers));但從未工作過。我一直在尋找一段時間,但無法弄清楚。

+0

Ehh'圖標[數字]'?選擇源,但仍然需要將其設置在圖標上,所以發佈html以及 –

+3

可能的重複[從JavaScript數組中獲取隨機項](http://stackoverflow.com/questions/5915096/get-random-item -from-javascript-array) – Vanojx1

回答

1

您需要使用index檢索圖標。

此外,對於random,它返回0和1之間的浮動,從而陣列是基於0,你有8個項目,則需要: -

$(document).ready(function() { 
 

 
    var number = Math.round(Math.random() * 7); 
 

 
    var icons = ['preload/img/audio.svg', 'preload/img/bars.svg', 'preload/img/grid.svg', 'preload/img/oval.svg', 'preload/img/puff.svg', 'preload/img/rings.svg', 'preload/img/tail-spin.svg', 'preload/img/three-dots.svg']; 
 

 
    alert(icons[number]); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

啊是的。我已經在VB.NET中編碼,並使用數組的索引,但我認爲JavaScript和jQuery的工作方式不同。感謝您的幫助。 –

0
var icons = ['preload/img/audio.svg', 'preload/img/bars.svg', 'preload/img/grid.svg', 'preload/img/oval.svg', 'preload/img/puff.svg', 'preload/img/rings.svg', 'preload/img/tail-spin.svg', 'preload/img/three-dots.svg']; 
var imageNum = Math.floor(Math.random()*icons.length); 
document.getElementById("myIcon").src = icons[imageNum]; 

其中「myIcon」是您想要更改的圖像的ID。