Генерируйте цвета между красным и зеленым для входного диапазона [дубликат]
Possible Duplicate:
Color coding based on number
Я хочу, чтобы пользователь мог выбирать из диапазона от 1 до 100, где, когда число становится меньше 50, цвет области становится темно-зеленым, а когда цвет становится ближе к 100, цвет становится более красным ,
Я пытаюсь сделать так, чтобы по мере приближения к центру цвет был близок к белому (где 50 = белый).
Я попробовал ответ отсюда:Генерировать цвета между красным и зеленым для измерителя мощности? безрезультатно .... 50 заканчивается темным зеленым ...
У меня есть следующий HTML:
<span><span class="value">50</span><input type="range" /></span>
И следующий JavaScript:
$(document).on({
change: function(e) {
var self = this,
span = $(self).parent("span"),
val = parseInt(self.value);
if (val > 100) {
val = 100;
}
else if (val < 0) {
val = 0;
}
$(".value", span).text(val);
var r = Math.floor((255 * val) / 100),
g = Math.floor((255 * (100 - val)) / 100),
b = 0;
span.css({
backgroundColor: "rgb(" + r + "," + g + "," + b + ")"
});
}
}, "input[type='range']");
Скрипки:http://jsfiddle.net/maniator/tKrM9/1/
Я пробовал много разных комбинаций r, g, b, но я действительно не могу понять это правильно.