我正在使用此代码添加随机背景颜色
var hue = ['#2dafe9','#5feec3','#fdaf17','#999999','#2b2b2b','#454323','#ab34ef', '#e324e2','#874edf','#18edf4'];
function getHue(){
return hue[Math.floor(Math.random() * hue.length)];
}
function rainbow(){
$("header[role='postHeader']").each(function(){
$(this).css('background-color',getHue());
});
}
rainbow();
我的问题是,如何按照数组的顺序选择颜色,而不必在结果中彼此相邻,因此颜色将遵循数组顺序,然后如果它到达最后一个数组循环返回第一个。
答案 0 :(得分:2)
function getHue() {
var t = hue.shift();
hue.push(t);
return t;
}
这将获取第一个色调,将其放回数组的末尾,然后返回它。
答案 1 :(得分:0)
保留一个局部变量并遍历数组。
(function(){
var idx = 0;
function getHue(){
return hue[idx = idx++ % hue.length];
}
})();