2017-04-11 28 views
0

这与这里的其他问题有点不同。我看过其他问题,但仍无法解决问题。差异在下面的段落中解释。如何从数组中获取随机值?

首先,这是代码。

 var colors = ['#ffff00', '#FF009C']; 
 
     var random_color = colors[Math.floor(Math.random() * colors.length)]; 
 
     for (var i = 0; i < document.querySelectorAll('#menu a').length; i++) { 
 
     document.querySelectorAll('#menu a')[i].style.color = random_color;}
<div id="menu"> 
 
     <h1><a>Project 1<a></h1> 
 
     <h1><a>Project 2</a></h1> 
 
     <h1><a>Project 3</a></h1> 
 
     <h1><a>Project 4</a></h1> 
 
     </div>

我所试图做的是数组的颜色“#menu一个”中选择一个值。我不希望在我写的值或任何东西之间存在价值。只要#ffff00或#ff009c或我放入数组的任何值。

编辑:谢谢大家!我只是意识到我的代码正在工作。对不起,当它不是问题时,你可以解决我的问题。我的错。

+2

执行您在第一关闭''标签 – Roberrrt

+1

打开'random_color'成一个函数在你的HTML一个错字。这样每个'h1'将被赋予不同的颜色。否则,它们将具有相同的颜色。 – evolutionxbox

回答

1

你的代码几乎是正确。您只需将您的随机代码生成器代码移入循环中。

var colors = ['#ffff00', '#FF009C']; 

for (var i = 0; i < document.querySelectorAll('#menu a').length; i++) { 
    var random_color = colors[Math.floor(Math.random() * colors.length)]; 
    document.querySelectorAll('#menu a')[i].style.color = random_color; 
} 
+0

这很有趣。唯一的问题是我想让所有链接的颜色都一样。通过在循环内移动随机代码生成器代码,它将生成不同的颜色。但这是有用的;我应该注意这一点,以防万一我需要为不同的事物一次获得不同的颜色。 –

+1

如果你想*所有链接的颜色相同*那么你的代码绝对是**完美**。您无需在此寻找解决方案 –

1

入住这solution如何让两个值

之间的随机数
function getRandomInt(min, max) { 
    return Math.floor(Math.random() * (max - min + 1)) + min; 
} 

现在只需更换的最小值和最大值和长数组的

var random_color = colors[getRandomInt(0, colors.length-1)]; 
1

用途: VAR颜色=颜色[Math.floor(的Math.random()*(colors.length - 1))]

1

更改行:

var random_color = colors[Math.floor(Math.random() * colors.length)];

成一个函数:

random_color = function() { return colors[Math.floor(Math.random() * colors.length)]; }

这样,它会为每一个锚在您的菜单

var colors = ['#ffff00', '#FF009C']; 
 
    
 
    random_color = function() { 
 
    \t return colors[Math.floor(Math.random() * colors.length)]; 
 
    } 
 
    
 
    for (var i = 0; i < document.querySelectorAll('#menu a').length; i++) { 
 
    document.querySelectorAll('#menu a')[i].style.color = random_color();}
<div id="menu"> 
 
    <h1><a>Project 1</a></h1> 
 
    <h1><a>Project 2</a></h1> 
 
    <h1><a>Project 3</a></h1> 
 
    <h1><a>Project 4</a></h1> 
 
    </div>