从基于var的数组中选择一个值

时间:2016-03-25 15:36:53

标签: javascript jquery

基本上。我正在为我的网站创建一个预加载页面。我希望每次访问者访问我的页面时,页面中间的图标都会发生变化。我需要在数组中选择一个变量或一个字符串。

我的代码:

$(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));但从未奏效。我一直在寻找,但无法理解。

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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。