2016-08-22 16 views
0

私は円グラフで使用したいトータル3色を持っています。私の問題は、同じ2色が連続して表示されないようにすることです。問題が表示される場所赤いテキストである、ここで円グラフのカラーパターン

var colors = ["R", "G", "B"]; 

for(var i = 2; i < 30; i++) { 
    if(i % 2 == 0) { 
     for(var x = 0; x < i; x++) document.write(colors[x % 2]); 
    }else if(i % 3 == 0) { 
     for(var x = 0; x < i; x++) document.write(colors[x % 3]); 
    }else { 
     if(i % 3 == 1) { 
      for(var x = 0; x < i; x++) document.write("<span style='color:red'>" + colors[x % 3] + "</span>"); 
     }else { 
      for(var x = 0; x < i; x++) document.write(colors[x % 3]); 
     } 
    } 
    document.write("<br>"); 
} 

同じコードでJS Fiddleです:
はここに私の単純化されたコードです。行はRで始まりRで終わり、円グラフの行に2回表示されます。

同じ色が2回連続して表示されないようにするにはどうすればよいですか?

+0

あなたの質問が(すべての行が文字を複数回繰り返す)場合、あなたの質問はあまり意味がありません(「同じ2色が一列に表示されないようにする」)。あなたがしたいことを表現するのはいかがですか? – Josh

答えて

1

問題の場合は、最後のセグメントを除くすべての最初の2色を繰り返してください。最後のセグメントについては、3番目の色を使用します。このようなもの:

for(var x = 0; x < i-1; x++) document.write(colors[x % 2]); 
document.write(colors[2]); 

これは役に立ちますか?