function pressLineColors() {
//setup array of colors and a variable to store the current index
var colors = ["#eee", "#123", "#fff", "#ae23e5"],
curr = 0;
//loop through each of the selected elements
$.each($('.pressLine'), function (index, element) {
//change the color of this element
$(this).css('color', colors[curr]);
//increment the current index
curr++;
//if the next index is greater than then number of colors then reset to zero
if (curr == colors.length) {
curr = 0;
}
});
}
Вот демонстрационная версия: http://jsfiddle.net/SngJK/
Обновление
Вы также можете использовать предложение в комментариях к этому ответу, чтобы немного сократить код:
function pressLineColors() {
var colors = ["#eee", "#123", "#fff", "#ae23e5"],
len = colors.length;
$.each($('.pressLine'), function (index, element) {
$(this).css('color', colors[index % len]);
});
}
Вот демонстрационная версия: http://jsfiddle.net/SngJK/2/
Обновление
Вы также можете использовать .css('color', function (){})
для перебора всех элементов, возвращая цвет, который вы хотите сделать элементом:
$('.pressLine').css('color', function (index, style) {
return colors[index % len];
});
Вот демоверсия: http://jsfiddle.net/SngJK/4/