重複の可能性:
番号に基づく色分け
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のさまざまな組み合わせを試してみましたが、本当にうまくいかないようです。