var shadeAmount = 161 / $('.header').length;
$('.header').each(function (i, e) {
var shade = i * shadeAmount;
var color = 'rgb(' + shade + ',' + shade + ',' + shade + ')';
$(this).css({"background-color": color});
});
Я не могу получить вышеуказанный код, чтобы установить свойство background-color каждого заголовка. Если я изменю код на это:
$(this).css({"background-color": "rgb(1,1,1)"});
Оно работает. Так что же неправильно с тем, как я объявляю цвет?
Попробуй это...
var count = $(".header").length;
if (count) {
var shadeAmount = parseInt(161 / count, 10);
$('.header').each(function (i, e) {
var shade = i * shadeAmount;
var color = 'rgb(' + shade + ',' + shade + ',' + shade + ')';
$(this).css({"background-color": color});
});
}
Я просто дезинфицировал его, завернув вычисление shadeAmount
в parseInt
, чтобы убедиться, что вы не shadeAmount
float в значение rgb.
Я также добавил, что есть элементы с классом заголовка, так как ваш код не удастся, если вы запустили его на странице, где их не было.
$(".header")
.
var shadeAmount = 161 / $('.header').length;
$('.header').each(function (i, e) {
var shade = ++i * shadeAmount;
var color = 'rgb(' + shade + ',' + shade + ',' + shade + ')';
console.log(color);
$(this).css({
"background-color": color
});
});
скрипка: http://jsfiddle.net/2mUH2/
"
в$(this).css({"background-color": "rgb(1,1,1)});
?