私がしようとしているのは:
- 要素から RGB 値を取得する
- 16進数に変換します
- テキストフィールドに入れる
最初の解決策:
(このスレッドRGB to Hex および Hex to RGBから取得)
function rgbToHex(r, g, b) {
return "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
}
#aN
問題は、何を食べても戻ってこないことです。機能に欠陥がありますか、それとも何か間違っていますか?
2番目の解決策:
上記と同じ投稿より。
function componentToHex(c) {
var hex = c.toString(16);
return hex.length == 1 ? "0" + hex : hex;
}
function rgbToHex(r, g, b) {
return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
}
これは、値を数値として渡すと機能しますrgbToHex(255,255,255)
が、変数として数値を入力しようとすると何もしませんrgbToHex(rgbValue)
。(デモの 19 ~ 25 行を参照)
すべての助けに感謝します:)