var

2016-03-25 6 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 'icons [number]'?ソースを選択するには、それでもアイコンに設定する必要がありますので、htmlでも投稿してください。 –

+3

[JavaScript配列からランダムな項目を取得する]の可能な複製(http://stackoverflow.com/questions/5915096/get-random-item -from-javascript-array) – Vanojx1

答えて

1

indexを使用してアイコンを取得する必要があります。配列は0ベースとされるように

はまた、randomのために、それは、0と1の間の浮動小数点数を返し、あなたは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です。