特定のパーセンテージに基づいて3色の平均を計算するにはどうすればよいですか?
たとえば、緑、黄、赤があり、平均値を取得したいとします。
これを行う最も簡単な方法は、次のような画像を作成することです。
そして、増減しbackground-position
ます:
$('input').change(function(){
$('#color').css({
backgroundPosition: -this.value + "px 0"
});
});
http://fiddle.jshell.net/VY4D8/
...しかし、それは出力を使って、または出力として「より良く」行うことができると思います。rgb/a
hex
解釈の目的のためだけに:
- ** [0%] |
#ff0000
- -[1%]
- -[2%]
- -[3%]
- -[4%]
- -[5%]
- -[...]
- ** [11%] |
#ffc600
- -[12%]
- -[13%]
- -[14%]
- -[15%]
- -[16%]
- ** [17%] |
#ffee00
- ...等...
この問題の実装はすでにありますか、または過去に何かを書いたことがありますか?
アップデート
イーブイのおかげで、了解しましたhttps://stackoverflow.com/a/15125778/1250044:
var div = document.getElementsByTagName('div')[0];
$('input').change(function () {
var max = this.getAttribute("max"),
cur = this.value / max * max,
r = Math.min(cur * 2, max),
g = Math.min(max * 2 - cur * 2, max),
rgb = g + "%, " + r + "%, 0%";
div.style.backgroundColor = "rgb(" + rgb + ")";
}).change();