前提・実現したいこと:JavaScriptです。文字の色をセルごとに背景の色と補色になるように常に色を変えたい。(JS初心者です。)
RGB色をセルを使って表すプログラムを作っています。
知識の不足でCの関数の知識を使って関数を代入してみたがうまくいかなかった。
■■な機能を実装中に以下のエラーメッセージが発生しました。
debugしてみたが、何も現れず。(正しく動作でキレイナイところが以下のプログラムとなります)
ce.style.color = "cple(x,y,z)";
発生している問題・エラーメッセージ
debugに失敗。(現在コアダンプの可能性なところを探し中)
エラーメッセージ がない!!!
該当のソースコード
ここで全体コードを示す。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>20190219(Tue)For_Color</title> <style> table {border-collapse:collapse;} td{width:30px: height:20px; border:solid 0px; text-align:center;} </style> </head> <body> <table id="colo"></table> <script> function cple(r, g, b) { var ma = Math.max(r, (Math(g, b))); var mi = Math.min(r, (Math(g, b))); var su = ma + mi; var nr = su - r; var ng = su - g; var nb = su - b; var vovo = "rgb(" + nr + "," + ng + "," + nb + ")"; return vovo; } var c = document.getElementById("colo"); var x = 0, y = 256, z = 256; var ro, ce, te; for (; x < 257; x += 4) { ro = c.insertRow(-1); for (y = 256; y > 0; y -= 4) { ce = ro.insertCell(-1); te = "RGB(" + x + "," + y + "," + z + ")"; z = 256 - x; ce.textContent = te; ce.style.backgroundColor = te; ce.style.color = "cple(x,y,z)"; } } </script> </body> </html>
試したこと
javascript 関数を代入 style のキーワードでぐぐって見た。
任意の要素(ブロックなど)の背景色を動的に変更する方法
で調べてみた。
補足情報(FW/ツールのバージョンなど)
function cple のコード
function cple(r, g, b) { var ma = Math.max(r, (Math(g, b))); var mi = Math.min(r, (Math(g, b))); var su = ma + mi; var nr = su - r; var ng = su - g; var nb = su - b; var vovo = "rgb(" + nr + "," + ng + "," + nb + ")"; return vovo; }
現在コアダンプなどの可能性を探して試行錯誤しています。
質問内容に不具合があればコメントをお願いします。
ありがとうございます。
更新
更新
var ma = Math.max(r, (Math(g, b)));
var mi = Math.min(r, (Math(g, b)));
のバグ具を発見。現在、色は変わったが補色ではないようです。。。美術は成績よかったが補色かどうか疑わしい。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/19 07:42