我下面有这个脚本,我希望它循环遍历每个 anchor 并给出背景
$c = ['85CC4C', 'D1FFCD', 'FF8D9D', '8A5949', 'CC8066'];
$('a').each(function(i){
$(this).css({'background':'#'+$c[i], 'color':getTintedColor($c[i], -55)});
});
为什么它在遍历完数组颜色后就停止了?我想让它重复 5 种颜色。
最佳答案
如果您想循环显示颜色,请尝试使用 $c[i % 5]
而不是 $c[i]
:
$c = ['85CC4C', 'D1FFCD', 'FF8D9D', '8A5949', 'CC8066'];
$('a').each(function(i){
$(this).css({'background':'#'+$c[i % 5], 'color':getTintedColor($c[i % 5], -55)});
});
在 each()
循环内,i
变量是每个 anchor 标记的索引。不过,您的颜色数组只有 5 种颜色。使用 i % 5
将始终给出 0
和 4
之间的数字,因此始终是颜色数组中的有效索引。
关于javascript - 为什么each()遍历数组后就结束了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16908452/