Jquery:随机背景颜色

时间:2016-10-22 18:27:18

标签: jquery html css

我有以下背景颜色: #05668D, #028090, #00A896, #02C39A, #F0F3BD ... 当页面加载时,如何使用类abc的每个元素以其中一种顶部颜色具有不同的背景颜色(可以重复,随机)。

例如:

<div class="asd"><div class="abc">...</div></div>
<div class="asd"><div class="abc">...</div></div>
<div class="asd"><div class="abc">...</div></div>
<div class="asd"><div class="abc">...</div></div>
<div class="asd"><div class="abc">...</div></div>

结果:

<div class="asd"><div class="abc" style="background-color:#05668D">...</div></div>
<div class="asd"><div class="abc" style="background-color:#00A896">...</div></div>
<div class="asd"><div class="abc" style="background-color:#028090">...</div></div>
<div class="asd"><div class="abc" style="background-color:#00A896">...</div></div>
<div class="asd"><div class="abc" style="background-color:#F0F3BD">...</div></div>
 ...

2 个答案:

答案 0 :(得分:1)

您可以使用下面的随机函数和jquery的每个函数将颜色应用于元素。

		$(function(){
  
  function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
  };
  var colors = ['#05668D', '#028090', '#00A896', '#02C39A', '#F0F3BD'];
  $('.abc').each(function(index,el){
    var randomColorIndex = getRandomInt(0,colors.length-1);
    $(el).css('background-color',colors[randomColorIndex]);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="asd"><div class="abc">...</div></div>
    <div class="asd"><div class="abc">...</div></div>
    <div class="asd"><div class="abc">...</div></div>
    <div class="asd"><div class="abc">...</div></div>
    <div class="asd"><div class="abc">...</div></div>

你可以在这里阅读:

jquery每个函数:enter image description here

Javascript随机函数:https://api.jquery.com/each/

答案 1 :(得分:1)

您必须迭代每个元素,然后为其指定background-color样式。

纯JavaScript版

var colorsArray = ['#05668D', '#028090', '#00A896', '#02C39A', '#F0F3BD'];
var divsArray = document.getElementsByClassName('abc');
var uniqueColorIndex = 0;

for(var i=0; i < divsArray.length; i++){
uniqueColorIndex = Math.floor(Math.random() * (colorsArray.length - 0 + 1));
  divsArray[i].style['background-color'] = colorsArray[uniqueColorIndex];
};

其中,colorsArray具有所有可能的颜色代码 uniqueColorIndex找到一个随机数的索引。 Source

链接到jsFiddle