注:https ://meta.stackexchange.com/questions/128548/what-stack-overflow-is-not/129362#129362を読みました
「自分でコードを書いて、問題が発生したときに試したことを投稿してみてください」と書かれています。それが私がここでやっていることです。
元のPHPコード:
$text = "Hello world, I am rainbow text!";
$texty = '';
$colors = array('ff00ff','ff00cc','ff0099','ff0066','ff0033','ff0000',
'ff3300','ff6600','ff9900','ffcc00','ffff00','ccff00',
'99ff00','66ff00','33ff00','00ff00','00ff33','00ff66',
'00ff99','00ffcc','00ffff','00ccff','0099ff','0066ff',
'0033ff','0000ff','3300ff','6600ff','9900ff','cc00ff');
$i = 0;
$textlength = strlen($text);
while($i<=$textlength){
foreach($colors as $key=>$value){
if (isset($text[$i])) {
$texty .= "<font color=\"#".$value."\">".$text[$i]."</font>";
}
$i++;
}
$texty = str_replace("> <","> <",$texty);
echo $texty;
}
私がそれを切り詰めたもの:
var text = "Hello world, I am rainbow text!";
var texty = '';
colors = new Array
('ff00ff','ff00cc','ff0099','ff0066','ff0033','ff0000',
'ff3300','ff6600','ff9900','ffcc00','ffff00','ccff00',
'99ff00','66ff00','33ff00','00ff00','00ff33','00ff66',
'00ff99','00ffcc','00ffff','00ccff','0099ff','0066ff',
'0033ff','0000ff','3300ff','6600ff','9900ff','cc00ff');
var i = 0;
var textlength = text.length;
var key = '';
var value = '';
while(i <= textlength){
for each(colors as key=>value){
if (text[i] != undefined) {
texty .= "<font color=\"#" + value + "\">" + text[i] + "</font>";
}
i++;
}
texty.replace("> <","> <");
//document.write(texty);
}
私はこれをJavascriptとしてテストしてきました。そのため、コードにdocument.writeコメントを付けました。しかし、それでも動作させることはできません。私はとても漠然としているのが嫌いですが...誰かが私がどこで失敗したか教えてもらえますか?